1338 strncpy(str, (char *) (bytes+2), len);
1339 str[len] = '\0';
1340 printf("Utf8 \"%s\"", str);
1341 ent_size = 2 + len;
1342 break;
1343 }
1344 case JVM_CONSTANT_Integer: {
1345 u4 val = Bytes::get_Java_u4(bytes);
1346 printf("int %d", *(int *) &val);
1347 ent_size = 4;
1348 break;
1349 }
1350 case JVM_CONSTANT_Float: {
1351 u4 val = Bytes::get_Java_u4(bytes);
1352 printf("float %5.3ff", *(float *) &val);
1353 ent_size = 4;
1354 break;
1355 }
1356 case JVM_CONSTANT_Long: {
1357 u8 val = Bytes::get_Java_u8(bytes);
1358 printf("long "INT64_FORMAT, *(jlong *) &val);
1359 ent_size = 8;
1360 idx++; // Long takes two cpool slots
1361 break;
1362 }
1363 case JVM_CONSTANT_Double: {
1364 u8 val = Bytes::get_Java_u8(bytes);
1365 printf("double %5.3fd", *(jdouble *)&val);
1366 ent_size = 8;
1367 idx++; // Double takes two cpool slots
1368 break;
1369 }
1370 case JVM_CONSTANT_Class: {
1371 idx1 = Bytes::get_Java_u2(bytes);
1372 printf("class #%03d", idx1);
1373 ent_size = 2;
1374 break;
1375 }
1376 case JVM_CONSTANT_String: {
1377 idx1 = Bytes::get_Java_u2(bytes);
1378 printf("String #%03d", idx1);
|
1338 strncpy(str, (char *) (bytes+2), len);
1339 str[len] = '\0';
1340 printf("Utf8 \"%s\"", str);
1341 ent_size = 2 + len;
1342 break;
1343 }
1344 case JVM_CONSTANT_Integer: {
1345 u4 val = Bytes::get_Java_u4(bytes);
1346 printf("int %d", *(int *) &val);
1347 ent_size = 4;
1348 break;
1349 }
1350 case JVM_CONSTANT_Float: {
1351 u4 val = Bytes::get_Java_u4(bytes);
1352 printf("float %5.3ff", *(float *) &val);
1353 ent_size = 4;
1354 break;
1355 }
1356 case JVM_CONSTANT_Long: {
1357 u8 val = Bytes::get_Java_u8(bytes);
1358 printf("long "INT64_FORMAT, (int64_t) *(jlong *) &val);
1359 ent_size = 8;
1360 idx++; // Long takes two cpool slots
1361 break;
1362 }
1363 case JVM_CONSTANT_Double: {
1364 u8 val = Bytes::get_Java_u8(bytes);
1365 printf("double %5.3fd", *(jdouble *)&val);
1366 ent_size = 8;
1367 idx++; // Double takes two cpool slots
1368 break;
1369 }
1370 case JVM_CONSTANT_Class: {
1371 idx1 = Bytes::get_Java_u2(bytes);
1372 printf("class #%03d", idx1);
1373 ent_size = 2;
1374 break;
1375 }
1376 case JVM_CONSTANT_String: {
1377 idx1 = Bytes::get_Java_u2(bytes);
1378 printf("String #%03d", idx1);
|