diff --git a/src/jplist.c b/src/jplist.c
index 9263b36..ca4743c 100644
--- a/src/jplist.c
+++ b/src/jplist.c
@@ -143,9 +143,9 @@
     case PLIST_INT:
         val = (char*)malloc(64);
         if (node_data->length == 16) {
-            val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
         } else {
-            val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
         }
         str_buf_append(*outbuf, val, val_len);
         free(val);
diff --git a/src/oplist.c b/src/oplist.c
index 74c4e0a..b2395a4 100644
--- a/src/oplist.c
+++ b/src/oplist.c
@@ -158,9 +158,9 @@
     case PLIST_INT:
         val = (char*)malloc(64);
         if (node_data->length == 16) {
-            val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
         } else {
-            val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
         }
         str_buf_append(*outbuf, val, val_len);
         free(val);
diff --git a/src/out-default.c b/src/out-default.c
index 5747097..3ee9b3a 100644
--- a/src/out-default.c
+++ b/src/out-default.c
@@ -98,9 +98,9 @@
     case PLIST_INT:
         val = (char*)malloc(64);
         if (node_data->length == 16) {
-            val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
         } else {
-            val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
         }
         str_buf_append(*outbuf, val, val_len);
         free(val);
@@ -257,9 +257,9 @@
             str_buf_append(*outbuf, "CF$UID:", 7);
             val = (char*)malloc(64);
             if (node_data->length == 16) {
-                val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+                val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
             } else {
-                val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+                val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
             }
             str_buf_append(*outbuf, val, val_len);
             free(val);
diff --git a/src/out-limd.c b/src/out-limd.c
index 0ff9a65..433ae06 100644
--- a/src/out-limd.c
+++ b/src/out-limd.c
@@ -101,9 +101,9 @@
     case PLIST_INT:
         val = (char*)malloc(64);
         if (node_data->length == 16) {
-            val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
         } else {
-            val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
         }
         str_buf_append(*outbuf, val, val_len);
         free(val);
@@ -225,9 +225,9 @@
             str_buf_append(*outbuf, "CF$UID:", 7);
             val = (char*)malloc(64);
             if (node_data->length == 16) {
-                val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+                val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
             } else {
-                val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+                val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
             }
             str_buf_append(*outbuf, val, val_len);
             free(val);
diff --git a/src/out-plutil.c b/src/out-plutil.c
index fbed98b..ed71d8f 100644
--- a/src/out-plutil.c
+++ b/src/out-plutil.c
@@ -98,9 +98,9 @@
     case PLIST_INT:
         val = (char*)malloc(64);
         if (node_data->length == 16) {
-            val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
         } else {
-            val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
         }
         str_buf_append(*outbuf, val, val_len);
         free(val);
diff --git a/src/xplist.c b/src/xplist.c
index 481da5d..4833a92 100644
--- a/src/xplist.c
+++ b/src/xplist.c
@@ -173,9 +173,9 @@
         tag_len = XPLIST_INT_LEN;
         val = (char*)malloc(64);
         if (node_data->length == 16) {
-            val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
         } else {
-            val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
         }
         break;
 
@@ -237,9 +237,9 @@
         tag_len = XPLIST_DICT_LEN;
         val = (char*)malloc(64);
         if (node_data->length == 16) {
-            val_len = snprintf(val, 64, "%"PRIu64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIu64, node_data->intval);
         } else {
-            val_len = snprintf(val, 64, "%"PRIi64, node_data->intval);
+            val_len = snprintf(val, 64, "%" PRIi64, node_data->intval);
         }
         break;
     case PLIST_NULL:
