Index: /trunk/glueforge/templates/psdb/code.tt
===================================================================
--- /trunk/glueforge/templates/psdb/code.tt	(revision 8685)
+++ /trunk/glueforge/templates/psdb/code.tt	(revision 8686)
@@ -8,4 +8,5 @@
 
 #include <stdio.h>
+#include <inttypes.h>
 
 #include "[% pkg_name %].h"
Index: /trunk/glueforge/templates/psdb/printmetadataraw.tt
===================================================================
--- /trunk/glueforge/templates/psdb/printmetadataraw.tt	(revision 8685)
+++ /trunk/glueforge/templates/psdb/printmetadataraw.tt	(revision 8686)
@@ -18,5 +18,5 @@
 #define METADATAITEM_STRIFY_CASE(ptype, format, type) \
 case ptype: \
-    psStringAppend(&str, #format, item->data.type); \
+    psStringAppend(&str, format, item->data.type); \
     break;
 
@@ -28,16 +28,16 @@
     while ((item = psMetadataGetAndIncrement(iter))) {
         switch (item->type) {
-            METADATAITEM_STRIFY_CASE(PS_DATA_S8, %d, S8);
-            METADATAITEM_STRIFY_CASE(PS_DATA_S16, %d, S16);
-            METADATAITEM_STRIFY_CASE(PS_DATA_S32, %d, S32);
-            METADATAITEM_STRIFY_CASE(PS_DATA_S64, %lld, S64);
-            METADATAITEM_STRIFY_CASE(PS_DATA_U8, %u, U8);
-            METADATAITEM_STRIFY_CASE(PS_DATA_U16, %u, U16);
-            METADATAITEM_STRIFY_CASE(PS_DATA_U32, %u, U32);
-            METADATAITEM_STRIFY_CASE(PS_DATA_U64, %llu, U64);
-            METADATAITEM_STRIFY_CASE(PS_DATA_F32, %f, F32);
-            METADATAITEM_STRIFY_CASE(PS_DATA_F64, %f, F64);
+            METADATAITEM_STRIFY_CASE(PS_DATA_S8, "%hhd", S8);
+            METADATAITEM_STRIFY_CASE(PS_DATA_S16, "%hd", S16);
+            METADATAITEM_STRIFY_CASE(PS_DATA_S32, "%d", S32);
+            METADATAITEM_STRIFY_CASE(PS_DATA_S64, "%" PRId64, S64);
+            METADATAITEM_STRIFY_CASE(PS_DATA_U8, "%hhu", U8);
+            METADATAITEM_STRIFY_CASE(PS_DATA_U16, "%hu", U16);
+            METADATAITEM_STRIFY_CASE(PS_DATA_U32, "%u", U32);
+            METADATAITEM_STRIFY_CASE(PS_DATA_U64, "%" PRIu64, U64);
+            METADATAITEM_STRIFY_CASE(PS_DATA_F32, "%f", F32);
+            METADATAITEM_STRIFY_CASE(PS_DATA_F64, "%f", F64);
             case PS_DATA_STRING:
-                psStringAppend(&str, "%s", (char*)(item->data.V));
+                psStringAppend(&str, "%s", item->data.str);
                 break;
             case PS_DATA_BOOL:
