1450 strncpy(str, (char *) (bytes+2), len);
1451 str[len] = '\0';
1452 printf("Utf8 \"%s\"", str);
1453 ent_size = 2 + len;
1454 break;
1455 }
1456 case JVM_CONSTANT_Integer: {
1457 u4 val = Bytes::get_Java_u4(bytes);
1458 printf("int %d", *(int *) &val);
1459 ent_size = 4;
1460 break;
1461 }
1462 case JVM_CONSTANT_Float: {
1463 u4 val = Bytes::get_Java_u4(bytes);
1464 printf("float %5.3ff", *(float *) &val);
1465 ent_size = 4;
1466 break;
1467 }
1468 case JVM_CONSTANT_Long: {
1469 u8 val = Bytes::get_Java_u8(bytes);
1470 printf("long "INT64_FORMAT, (int64_t) *(jlong *) &val);
1471 ent_size = 8;
1472 idx++; // Long takes two cpool slots
1473 break;
1474 }
1475 case JVM_CONSTANT_Double: {
1476 u8 val = Bytes::get_Java_u8(bytes);
1477 printf("double %5.3fd", *(jdouble *)&val);
1478 ent_size = 8;
1479 idx++; // Double takes two cpool slots
1480 break;
1481 }
1482 case JVM_CONSTANT_Class: {
1483 idx1 = Bytes::get_Java_u2(bytes);
1484 printf("class #%03d", idx1);
1485 ent_size = 2;
1486 break;
1487 }
1488 case JVM_CONSTANT_String: {
1489 idx1 = Bytes::get_Java_u2(bytes);
1490 printf("String #%03d", idx1);
|
1450 strncpy(str, (char *) (bytes+2), len);
1451 str[len] = '\0';
1452 printf("Utf8 \"%s\"", str);
1453 ent_size = 2 + len;
1454 break;
1455 }
1456 case JVM_CONSTANT_Integer: {
1457 u4 val = Bytes::get_Java_u4(bytes);
1458 printf("int %d", *(int *) &val);
1459 ent_size = 4;
1460 break;
1461 }
1462 case JVM_CONSTANT_Float: {
1463 u4 val = Bytes::get_Java_u4(bytes);
1464 printf("float %5.3ff", *(float *) &val);
1465 ent_size = 4;
1466 break;
1467 }
1468 case JVM_CONSTANT_Long: {
1469 u8 val = Bytes::get_Java_u8(bytes);
1470 printf("long " INT64_FORMAT, (int64_t) *(jlong *) &val);
1471 ent_size = 8;
1472 idx++; // Long takes two cpool slots
1473 break;
1474 }
1475 case JVM_CONSTANT_Double: {
1476 u8 val = Bytes::get_Java_u8(bytes);
1477 printf("double %5.3fd", *(jdouble *)&val);
1478 ent_size = 8;
1479 idx++; // Double takes two cpool slots
1480 break;
1481 }
1482 case JVM_CONSTANT_Class: {
1483 idx1 = Bytes::get_Java_u2(bytes);
1484 printf("class #%03d", idx1);
1485 ent_size = 2;
1486 break;
1487 }
1488 case JVM_CONSTANT_String: {
1489 idx1 = Bytes::get_Java_u2(bytes);
1490 printf("String #%03d", idx1);
|