Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index a8672e310dddec6ef7a3b1d1c84ddc0c6c5eab1d..5617c02a0f3f1ab66f9cc8b9ee640dcfef60070e 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -6601,16 +6601,17 @@ const char* PcDescriptors::ToCString() const { |
if (Length() == 0) { |
return "No pc descriptors\n"; |
} |
- const char* kFormat = "0x%x\t%s\t%ld\t%ld\t%ld\n"; |
+ const char* kFormat = |
+ "0x%" PRIxPTR "\t%s\t%" PRIdPTR "\t%" PRIdPTR "\t%" PRIdPTR "\n"; |
// First compute the buffer size required. |
- intptr_t len = 0; |
+ intptr_t len = 1; // Trailing '\0'. |
for (intptr_t i = 0; i < Length(); i++) { |
len += OS::SNPrint(NULL, 0, kFormat, |
PC(i), KindAsStr(i), NodeId(i), TryIndex(i), TokenIndex(i)); |
} |
// Allocate the buffer. |
char* buffer = reinterpret_cast<char*>( |
- Isolate::Current()->current_zone()->Allocate(len + 1)); |
+ Isolate::Current()->current_zone()->Allocate(len)); |
// Layout the fields in the buffer. |
intptr_t index = 0; |
for (intptr_t i = 0; i < Length(); i++) { |
@@ -6870,20 +6871,20 @@ const char* ExceptionHandlers::ToCString() const { |
return "No exception handlers\n"; |
} |
// First compute the buffer size required. |
- intptr_t len = 0; |
+ const char* kFormat = "%" PRIdPTR " => 0x%" PRIxPTR "\n"; |
+ intptr_t len = 1; // Trailing '\0'. |
for (intptr_t i = 0; i < Length(); i++) { |
- len += OS::SNPrint(NULL, 0, "%ld => 0x%x\n", |
- TryIndex(i), HandlerPC(i)); |
+ len += OS::SNPrint(NULL, 0, kFormat, TryIndex(i), HandlerPC(i)); |
} |
// Allocate the buffer. |
char* buffer = reinterpret_cast<char*>( |
- Isolate::Current()->current_zone()->Allocate(len + 1)); |
+ Isolate::Current()->current_zone()->Allocate(len)); |
// Layout the fields in the buffer. |
intptr_t index = 0; |
for (intptr_t i = 0; i < Length(); i++) { |
index += OS::SNPrint((buffer + index), |
(len - index), |
- "%ld => 0x%x\n", |
+ kFormat, |
TryIndex(i), |
HandlerPC(i)); |
} |