Print small sizes as ints, to avoid size_t's printf portability morass
authorPhil Miller <mille121@illinois.edu>
Thu, 5 May 2011 22:20:52 +0000 (17:20 -0500)
committerPhil Miller <mille121@illinois.edu>
Thu, 5 May 2011 22:23:15 +0000 (17:23 -0500)
Calling printf("%d", sizeof(Foo)) generates warnings, because size_t
is often not an int. We want to squelch all the warnings we're seeing,
but unfortunately, the standard %zd size modifier isn't available on
windows. Since Foo in this case is the small struct _Slot, we don't
need to worry about overflow, and can just shorten its size to int.

src/conv-core/memory-charmdebug.c

index 33b95df4b702fcde162cd0479f0259c62cc49c7d..346596aa98e71e0460d6a4e69ca05af88bedba86 100644 (file)
@@ -1383,7 +1383,7 @@ void CpdSetInitializeMemory(int v) { cpdInitializeMemory = v; }
 static void meta_init(char **argv) {
   status("Converse -memory mode: charmdebug\n");
   char buf[100];
-  sprintf(buf,"slot size %d\n",sizeof(Slot));
+  sprintf(buf, "slot size %d\n", (int)sizeof(Slot));
   status(buf);
   CmiMemoryIs_flag|=CMI_MEMORY_IS_CHARMDEBUG;
   cpdInitializeMemory = 0;