diff --git a/tests/oneof_callback/decode_oneof.c b/tests/oneof_callback/decode_oneof.c
index 3b38f15..535bac2 100644
--- a/tests/oneof_callback/decode_oneof.c
+++ b/tests/oneof_callback/decode_oneof.c
@@ -48,7 +48,7 @@
     if (!pb_decode_varint(stream, &value))
         return false;
 
-    printf((char*)*arg, (long)value);
+    printf((char*)*arg, (int)value);
     return true;
 }
 
@@ -85,7 +85,7 @@
      * from callbacks.
      */
     OneOfMessage *topmsg = field->message;
-    printf("prefix: %d\n", topmsg->prefix);
+    printf("prefix: %d\n", (int)topmsg->prefix);
 
     if (field->tag == OneOfMessage_submsg1_tag)
     {
@@ -147,25 +147,25 @@
     /* This is just printing for the test case logic */
     if (msg.which_values == OneOfMessage_intvalue_tag)
     {
-        printf("prefix: %d\n", msg.prefix);
-        printf("intvalue: %d\n", msg.values.intvalue);
+        printf("prefix: %d\n", (int)msg.prefix);
+        printf("intvalue: %d\n", (int)msg.values.intvalue);
     }
     else if (msg.which_values == OneOfMessage_strvalue_tag)
     {
-        printf("prefix: %d\n", msg.prefix);
+        printf("prefix: %d\n", (int)msg.prefix);
         printf("strvalue: \"%s\"\n", msg.values.strvalue);
     }
     else if (msg.which_values == OneOfMessage_submsg3_tag &&
              msg.values.submsg3.which_values == SubMsg3_intvalue_tag)
     {
-        printf("  intvalue: %d\n", msg.values.submsg3.values.intvalue);
+        printf("  intvalue: %d\n", (int)msg.values.submsg3.values.intvalue);
         printf("}\n");
     }
     else
     {
         printf("}\n");
     }
-    printf("suffix: %d\n", msg.suffix);
+    printf("suffix: %d\n", (int)msg.suffix);
 
     assert(msg.prefix == 123);
     assert(msg.suffix == 321);
