From 4d06aeacc3ef1f03d911773cc70d5ca9aea3a9d2 Mon Sep 17 00:00:00 2001 From: dwoodward Date: Sat, 4 Mar 2023 01:04:58 -0800 Subject: [PATCH] fixup non ansi comments for gcc; added runExample-gcc --- example/runExample-gcc.sh | 4 + src/cwpack.c | 190 +++++++++++++++++++------------------- src/cwpack_config.h | 2 +- 3 files changed, 100 insertions(+), 96 deletions(-) create mode 100644 example/runExample-gcc.sh diff --git a/example/runExample-gcc.sh b/example/runExample-gcc.sh new file mode 100644 index 0000000..04e0133 --- /dev/null +++ b/example/runExample-gcc.sh @@ -0,0 +1,4 @@ +gcc -ansi -I ../src/ -I ../goodies/basic-contexts/ *.c ../src/*.c ../goodies/basic-contexts/*.c -o json2cwpack2json +./json2cwpack2json test1.json +diff -a test1.json test1.json.msgpack.json +rm -f *.o json2cwpack2json diff --git a/src/cwpack.c b/src/cwpack.c index a034271..6948c0f 100644 --- a/src/cwpack.c +++ b/src/cwpack.c @@ -249,14 +249,14 @@ void cw_pack_str(cw_pack_context* pack_context, const char* v, uint32_t l) uint8_t *p; - if (l < 32) // Fixstr + if (l < 32) /* Fixstr */ { cw_pack_reserve_space(l+1); *p = (uint8_t)(0xa0 + l); memcpy(p+1,v,l); return; } - if (l < 256 && !pack_context->be_compatible) // Str 8 + if (l < 256 && !pack_context->be_compatible) /* Str 8 */ { cw_pack_reserve_space(l+2); *p++ = (uint8_t)(0xd9); @@ -264,7 +264,7 @@ void cw_pack_str(cw_pack_context* pack_context, const char* v, uint32_t l) memcpy(p+1,v,l); return; } - if (l < 65536) // Str 16 + if (l < 65536) /* Str 16 */ { cw_pack_reserve_space(l+3) *p++ = (uint8_t)0xda; @@ -272,7 +272,7 @@ void cw_pack_str(cw_pack_context* pack_context, const char* v, uint32_t l) memcpy(p+2,v,l); return; } - // Str 32 + /* Str 32 */ cw_pack_reserve_space(l+5) *p++ = (uint8_t)0xdb; cw_store32(l); @@ -294,7 +294,7 @@ void cw_pack_bin(cw_pack_context* pack_context, const void* v, uint32_t l) uint8_t *p; - if (l < 256) // Bin 8 + if (l < 256) /* Bin 8 */ { cw_pack_reserve_space(l+2); *p++ = (uint8_t)(0xc4); @@ -302,7 +302,7 @@ void cw_pack_bin(cw_pack_context* pack_context, const void* v, uint32_t l) memcpy(p+1,v,l); return; } - if (l < 65536) // Bin 16 + if (l < 65536) /* Bin 16 */ { cw_pack_reserve_space(l+3) *p++ = (uint8_t)0xc5; @@ -310,7 +310,7 @@ void cw_pack_bin(cw_pack_context* pack_context, const void* v, uint32_t l) memcpy(p+2,v,l); return; } - // Bin 32 + /* Bin 32 */ cw_pack_reserve_space(l+5) *p++ = (uint8_t)0xc6; cw_store32(l); @@ -331,43 +331,43 @@ void cw_pack_ext (cw_pack_context* pack_context, int8_t type, const void* v, uin switch (l) { - case 1: // Fixext 1 + case 1: /* Fixext 1 */ cw_pack_reserve_space(3); *p++ = (uint8_t)0xd4; *p++ = (uint8_t)type; *p++ = *(uint8_t*)v; return; - case 2: // Fixext 2 + case 2: /* Fixext 2 */ cw_pack_reserve_space(4); *p++ = (uint8_t)0xd5; break; - case 4: // Fixext 4 + case 4: /* Fixext 4 */ cw_pack_reserve_space(6); *p++ = (uint8_t)0xd6; break; - case 8: // Fixext 8 + case 8: /* Fixext 8 */ cw_pack_reserve_space(10); *p++ = (uint8_t)0xd7; break; - case 16: // Fixext16 + case 16: /* Fixext16 */ cw_pack_reserve_space(18); *p++ = (uint8_t)0xd8; break; default: - if (l < 256) // Ext 8 + if (l < 256) /* Ext 8 */ { cw_pack_reserve_space(l+3); *p++ = (uint8_t)0xc7; *p++ = (uint8_t)(l); } - else if (l < 65536) // Ext 16 + else if (l < 65536) /* Ext 16 */ { cw_pack_reserve_space(l+4) *p++ = (uint8_t)0xc8; cw_store16(l); p += 2; } - else // Ext 32 + else /* Ext 32 */ { cw_pack_reserve_space(l+6) *p++ = (uint8_t)0xc9; @@ -394,8 +394,8 @@ void cw_pack_time (cw_pack_context* pack_context, int64_t sec, uint32_t nsec) uint8_t *p; if ((uint64_t)sec & 0xfffffffc00000000LL) { - // timestamp 96 - //serialize(0xc7, 12, -1, nsec, sec) + /* timestamp 96 */ + /* serialize(0xc7, 12, -1, nsec, sec) */ cw_pack_reserve_space(15); *p++ = (uint8_t)0xc7; *p++ = (uint8_t)12; @@ -406,17 +406,17 @@ void cw_pack_time (cw_pack_context* pack_context, int64_t sec, uint32_t nsec) else { uint64_t data64 = (((uint64_t)nsec << 34) | (uint64_t)sec); if (data64 & 0xffffffff00000000LL) { - // timestamp 64 - //serialize(0xd7, -1, data64) + /* timestamp 64 */ + /* serialize(0xd7, -1, data64) */ cw_pack_reserve_space(10); *p++ = (uint8_t)0xd7; *p++ = (uint8_t)0xff; cw_store64(data64); } else { - // timestamp 32 + /* timestamp 32 */ uint32_t data32 = (uint32_t)data64; - //serialize(0xd6, -1, data32) + /* serialize(0xd6, -1, data32) */ cw_pack_reserve_space(6); *p++ = (uint8_t)0xd6; *p++ = (uint8_t)0xff; @@ -495,29 +495,29 @@ void cw_unpack_next (cw_unpack_context* unpack_context) case 0x68: case 0x69: case 0x6a: case 0x6b: case 0x6c: case 0x6d: case 0x6e: case 0x6f: case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f: - getDDItem(CWP_ITEM_POSITIVE_INTEGER, i64, c); return; // positive fixnum + getDDItem(CWP_ITEM_POSITIVE_INTEGER, i64, c); return; /* positive fixnum */ case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8a: case 0x8b: case 0x8c: case 0x8d: case 0x8e: case 0x8f: - getDDItem(CWP_ITEM_MAP, map.size, c & 0x0f); return; // fixmap + getDDItem(CWP_ITEM_MAP, map.size, c & 0x0f); return; /* fixmap */ case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9a: case 0x9b: case 0x9c: case 0x9d: case 0x9e: case 0x9f: - getDDItem(CWP_ITEM_ARRAY, array.size, c & 0x0f); return; // fixarray + getDDItem(CWP_ITEM_ARRAY, array.size, c & 0x0f); return; /* fixarray */ case 0xa0: case 0xa1: case 0xa2: case 0xa3: case 0xa4: case 0xa5: case 0xa6: case 0xa7: case 0xa8: case 0xa9: case 0xaa: case 0xab: case 0xac: case 0xad: case 0xae: case 0xaf: case 0xb0: case 0xb1: case 0xb2: case 0xb3: case 0xb4: case 0xb5: case 0xb6: case 0xb7: case 0xb8: case 0xb9: case 0xba: case 0xbb: case 0xbc: case 0xbd: case 0xbe: case 0xbf: - getDDItem(CWP_ITEM_STR, str.length, c & 0x1f); // fixraw + getDDItem(CWP_ITEM_STR, str.length, c & 0x1f); /* fixraw */ cw_unpack_assert_blob(str); - case 0xc0: unpack_context->item.type = CWP_ITEM_NIL; return; // nil - case 0xc2: getDDItem(CWP_ITEM_BOOLEAN, boolean, false); return; // false - case 0xc3: getDDItem(CWP_ITEM_BOOLEAN, boolean, true); return; // true - case 0xc4: getDDItem1(CWP_ITEM_BIN, bin.length, uint8_t); // bin 8 + case 0xc0: unpack_context->item.type = CWP_ITEM_NIL; return; /* nil */ + case 0xc2: getDDItem(CWP_ITEM_BOOLEAN, boolean, false); return; /* false */ + case 0xc3: getDDItem(CWP_ITEM_BOOLEAN, boolean, true); return; /* true */ + case 0xc4: getDDItem1(CWP_ITEM_BIN, bin.length, uint8_t); /* bin 8 */ cw_unpack_assert_blob(bin); - case 0xc5: getDDItem2(CWP_ITEM_BIN, bin.length, uint16_t); // bin 16 + case 0xc5: getDDItem2(CWP_ITEM_BIN, bin.length, uint16_t); /* bin 16 */ cw_unpack_assert_blob(bin); - case 0xc6: getDDItem4(CWP_ITEM_BIN, bin.length, uint32_t); // bin 32 + case 0xc6: getDDItem4(CWP_ITEM_BIN, bin.length, uint32_t); /* bin 32 */ cw_unpack_assert_blob(bin); - case 0xc7: getDDItem1(CWP_ITEM_EXT, ext.length, uint8_t); // ext 8 + case 0xc7: getDDItem1(CWP_ITEM_EXT, ext.length, uint8_t); /* ext 8 */ cw_unpack_assert_space(1); unpack_context->item.type = (cwpack_item_types)*(int8_t*)p; if (unpack_context->item.type == CWP_ITEM_TIMESTAMP) @@ -535,59 +535,59 @@ void cw_unpack_next (cw_unpack_context* unpack_context) UNPACK_ERROR(CWP_RC_WRONG_TIMESTAMP_LENGTH) } cw_unpack_assert_blob(ext); - case 0xc8: getDDItem2(CWP_ITEM_EXT, ext.length, uint16_t); // ext 16 + case 0xc8: getDDItem2(CWP_ITEM_EXT, ext.length, uint16_t); /* ext 16 */ cw_unpack_assert_space(1); unpack_context->item.type = (cwpack_item_types)*(int8_t*)p; cw_unpack_assert_blob(ext); - case 0xc9: getDDItem4(CWP_ITEM_EXT, ext.length, uint32_t); // ext 32 + case 0xc9: getDDItem4(CWP_ITEM_EXT, ext.length, uint32_t); /* ext 32 */ cw_unpack_assert_space(1); unpack_context->item.type = (cwpack_item_types)*(int8_t*)p; cw_unpack_assert_blob(ext); - case 0xca: unpack_context->item.type = CWP_ITEM_FLOAT; // float + case 0xca: unpack_context->item.type = CWP_ITEM_FLOAT; /* float */ cw_unpack_assert_space(4); cw_load32(p); unpack_context->item.as.real = *(float*)&tmpu32; return; - case 0xcb: getDDItem8(CWP_ITEM_DOUBLE); return; // double - case 0xcc: getDDItem1(CWP_ITEM_POSITIVE_INTEGER, u64, uint8_t); return; // unsigned int 8 - case 0xcd: getDDItem2(CWP_ITEM_POSITIVE_INTEGER, u64, uint16_t); return; // unsigned int 16 - case 0xce: getDDItem4(CWP_ITEM_POSITIVE_INTEGER, u64, uint32_t); return; // unsigned int 32 - case 0xcf: getDDItem8(CWP_ITEM_POSITIVE_INTEGER); return; // unsigned int 64 - case 0xd0: getDDItem1(CWP_ITEM_NEGATIVE_INTEGER, i64, int8_t); // signed int 8 + case 0xcb: getDDItem8(CWP_ITEM_DOUBLE); return; /* double */ + case 0xcc: getDDItem1(CWP_ITEM_POSITIVE_INTEGER, u64, uint8_t); return; /* unsigned int 8 */ + case 0xcd: getDDItem2(CWP_ITEM_POSITIVE_INTEGER, u64, uint16_t); return; /* unsigned int 16 */ + case 0xce: getDDItem4(CWP_ITEM_POSITIVE_INTEGER, u64, uint32_t); return; /* unsigned int 32 */ + case 0xcf: getDDItem8(CWP_ITEM_POSITIVE_INTEGER); return; /* unsigned int 64 */ + case 0xd0: getDDItem1(CWP_ITEM_NEGATIVE_INTEGER, i64, int8_t); /* signed int 8 */ if (unpack_context->item.as.i64 >= 0) unpack_context->item.type = CWP_ITEM_POSITIVE_INTEGER; return; - case 0xd1: getDDItem2(CWP_ITEM_NEGATIVE_INTEGER, i64, int16_t); // signed int 16 + case 0xd1: getDDItem2(CWP_ITEM_NEGATIVE_INTEGER, i64, int16_t); /* signed int 16 */ if (unpack_context->item.as.i64 >= 0) unpack_context->item.type = CWP_ITEM_POSITIVE_INTEGER; return; - case 0xd2: getDDItem4(CWP_ITEM_NEGATIVE_INTEGER, i64, int32_t); // signed int 32 + case 0xd2: getDDItem4(CWP_ITEM_NEGATIVE_INTEGER, i64, int32_t); /* signed int 32 */ if (unpack_context->item.as.i64 >= 0) unpack_context->item.type = CWP_ITEM_POSITIVE_INTEGER; return; - case 0xd3: getDDItem8(CWP_ITEM_NEGATIVE_INTEGER); // signed int 64 + case 0xd3: getDDItem8(CWP_ITEM_NEGATIVE_INTEGER); /* signed int 64 */ if (unpack_context->item.as.i64 >= 0) unpack_context->item.type = CWP_ITEM_POSITIVE_INTEGER; return; - case 0xd4: getDDItemFix(1); // fixext 1 - case 0xd5: getDDItemFix(2); // fixext 2 - case 0xd6: getDDItemFix(4); // fixext 4 - case 0xd7: getDDItemFix(8); // fixext 8 - case 0xd8: getDDItemFix(16); // fixext 16 - case 0xd9: getDDItem1(CWP_ITEM_STR, str.length, uint8_t); // str 8 + case 0xd4: getDDItemFix(1); /* fixext 1 */ + case 0xd5: getDDItemFix(2); /* fixext 2 */ + case 0xd6: getDDItemFix(4); /* fixext 4 */ + case 0xd7: getDDItemFix(8); /* fixext 8 */ + case 0xd8: getDDItemFix(16); /* fixext 16 */ + case 0xd9: getDDItem1(CWP_ITEM_STR, str.length, uint8_t); /* str 8 */ cw_unpack_assert_blob(str); - case 0xda: getDDItem2(CWP_ITEM_STR, str.length, uint16_t); // str 16 + case 0xda: getDDItem2(CWP_ITEM_STR, str.length, uint16_t); /* str 16 */ cw_unpack_assert_blob(str); - case 0xdb: getDDItem4(CWP_ITEM_STR, str.length, uint32_t); // str 32 + case 0xdb: getDDItem4(CWP_ITEM_STR, str.length, uint32_t); /* str 32 */ cw_unpack_assert_blob(str); - case 0xdc: getDDItem2(CWP_ITEM_ARRAY, array.size, uint16_t); return; // array 16 - case 0xdd: getDDItem4(CWP_ITEM_ARRAY, array.size, uint32_t); return; // array 32 - case 0xde: getDDItem2(CWP_ITEM_MAP, map.size, uint16_t); return; // map 16 - case 0xdf: getDDItem4(CWP_ITEM_MAP, map.size, uint32_t); return; // map 32 + case 0xdc: getDDItem2(CWP_ITEM_ARRAY, array.size, uint16_t); return; /* array 16 */ + case 0xdd: getDDItem4(CWP_ITEM_ARRAY, array.size, uint32_t); return; /* array 32 */ + case 0xde: getDDItem2(CWP_ITEM_MAP, map.size, uint16_t); return; /* map 16 */ + case 0xdf: getDDItem4(CWP_ITEM_MAP, map.size, uint32_t); return; /* map 32 */ case 0xe0: case 0xe1: case 0xe2: case 0xe3: case 0xe4: case 0xe5: case 0xe6: case 0xe7: case 0xe8: case 0xe9: case 0xea: case 0xeb: case 0xec: case 0xed: case 0xee: case 0xef: case 0xf0: case 0xf1: case 0xf2: case 0xf3: case 0xf4: case 0xf5: case 0xf6: case 0xf7: case 0xf8: case 0xf9: case 0xfa: case 0xfb: case 0xfc: case 0xfd: case 0xfe: case 0xff: - getDDItem(CWP_ITEM_NEGATIVE_INTEGER, i64, (int8_t)c); return; // negative fixnum + getDDItem(CWP_ITEM_NEGATIVE_INTEGER, i64, (int8_t)c); return; /* negative fixnum */ default: UNPACK_ERROR(CWP_RC_MALFORMED_INPUT) } @@ -633,103 +633,103 @@ void cw_skip_items (cw_unpack_context* unpack_context, long item_count) case 0x68: case 0x69: case 0x6a: case 0x6b: case 0x6c: case 0x6d: case 0x6e: case 0x6f: case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f: - // unsigned fixint + /* unsigned fixint */ case 0xe0: case 0xe1: case 0xe2: case 0xe3: case 0xe4: case 0xe5: case 0xe6: case 0xe7: case 0xe8: case 0xe9: case 0xea: case 0xeb: case 0xec: case 0xed: case 0xee: case 0xef: case 0xf0: case 0xf1: case 0xf2: case 0xf3: case 0xf4: case 0xf5: case 0xf6: case 0xf7: case 0xf8: case 0xf9: case 0xfa: case 0xfb: case 0xfc: case 0xfd: case 0xfe: case 0xff: - // signed fixint - case 0xc0: // nil - case 0xc2: // false - case 0xc3: break; // true - case 0xcc: // unsigned int 8 - case 0xd0: cw_skip_bytes(1); // signed int 8 - case 0xcd: // unsigned int 16 - case 0xd1: // signed int 16 - case 0xd4: cw_skip_bytes(2); // fixext 1 - case 0xd5: cw_skip_bytes(3); // fixext 2 - case 0xca: // float - case 0xce: // unsigned int 32 - case 0xd2: cw_skip_bytes(4); // signed int 32 - case 0xd6: cw_skip_bytes(5); // fixext 4 - case 0xcb: // double - case 0xcf: // unsigned int 64 - case 0xd3: cw_skip_bytes(8); // signed int 64 - case 0xd7: cw_skip_bytes(9); // fixext 8 - case 0xd8: cw_skip_bytes(17); // fixext 16 + /* signed fixint */ + case 0xc0: /* nil */ + case 0xc2: /* false */ + case 0xc3: break; /* true */ + case 0xcc: /* unsigned int 8 */ + case 0xd0: cw_skip_bytes(1); /* signed int 8 */ + case 0xcd: /* unsigned int 16 */ + case 0xd1: /* signed int 16 */ + case 0xd4: cw_skip_bytes(2); /* fixext 1 */ + case 0xd5: cw_skip_bytes(3); /* fixext 2 */ + case 0xca: /* float */ + case 0xce: /* unsigned int 32 */ + case 0xd2: cw_skip_bytes(4); /* signed int 32 */ + case 0xd6: cw_skip_bytes(5); /* fixext 4 */ + case 0xcb: /* double */ + case 0xcf: /* unsigned int 64 */ + case 0xd3: cw_skip_bytes(8); /* signed int 64 */ + case 0xd7: cw_skip_bytes(9); /* fixext 8 */ + case 0xd8: cw_skip_bytes(17); /* fixext 16 */ case 0xa0: case 0xa1: case 0xa2: case 0xa3: case 0xa4: case 0xa5: case 0xa6: case 0xa7: case 0xa8: case 0xa9: case 0xaa: case 0xab: case 0xac: case 0xad: case 0xae: case 0xaf: case 0xb0: case 0xb1: case 0xb2: case 0xb3: case 0xb4: case 0xb5: case 0xb6: case 0xb7: case 0xb8: case 0xb9: case 0xba: case 0xbb: case 0xbc: case 0xbd: case 0xbe: case 0xbf: - cw_skip_bytes(c & 0x1f); // fixstr - case 0xd9: // str 8 - case 0xc4: // bin 8 + cw_skip_bytes(c & 0x1f); /* fixstr */ + case 0xd9: /* str 8 */ + case 0xc4: /* bin 8 */ cw_unpack_assert_space(1); tmpu32 = *p; cw_skip_bytes(tmpu32); - case 0xda: // str 16 - case 0xc5: // bin 16 + case 0xda: /* str 16 */ + case 0xc5: /* bin 16 */ cw_unpack_assert_space(2); cw_load16(p); cw_skip_bytes(tmpu16); - case 0xdb: // str 32 - case 0xc6: // bin 32 + case 0xdb: /* str 32 */ + case 0xc6: /* bin 32 */ cw_unpack_assert_space(4); cw_load32(p); cw_skip_bytes(tmpu32); case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8a: case 0x8b: case 0x8c: case 0x8d: case 0x8e: case 0x8f: - item_count += 2*(c & 15); // FixMap + item_count += 2*(c & 15); /* FixMap */ break; case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9a: case 0x9b: case 0x9c: case 0x9d: case 0x9e: case 0x9f: - item_count += c & 15; // FixArray + item_count += c & 15; /* FixArray */ break; - case 0xdc: // array 16 + case 0xdc: /* array 16 */ cw_unpack_assert_space(2); cw_load16(p); item_count += tmpu16; break; - case 0xde: // map 16 + case 0xde: /* map 16 */ cw_unpack_assert_space(2); cw_load16(p); item_count += 2*tmpu16; break; - case 0xdd: // array 32 + case 0xdd: /* array 32 */ cw_unpack_assert_space(4); cw_load32(p); item_count += tmpu32; break; - case 0xdf: // map 32 + case 0xdf: /* map 32 */ cw_unpack_assert_space(4); cw_load32(p); item_count += 2*tmpu32; break; - case 0xc7: // ext 8 + case 0xc7: /* ext 8 */ cw_unpack_assert_space(1); tmpu32 = *p; cw_skip_bytes(tmpu32 +1); - case 0xc8: // ext 16 + case 0xc8: /* ext 16 */ cw_unpack_assert_space(2); cw_load16(p); cw_skip_bytes(tmpu16 +1); - case 0xc9: // ext 32 + case 0xc9: /* ext 32 */ cw_unpack_assert_space(4); cw_load32(p); cw_skip_bytes(tmpu32 +1); - default: // illegal + default: /* illegal */ UNPACK_ERROR(CWP_RC_MALFORMED_INPUT) } } @@ -745,7 +745,7 @@ cwpack_item_types cw_look_ahead (cw_unpack_context* unpack_context) #undef buffer_end_return_code #define buffer_end_return_code CWP_RC_END_OF_INPUT; cw_unpack_assert_space_sub(1,CWP_NOT_AN_ITEM); - unpack_context->current -= 1; //step back + unpack_context->current -= 1; /* step back */ uint8_t c = *p; #undef buffer_end_return_code #define buffer_end_return_code CWP_RC_BUFFER_UNDERFLOW; diff --git a/src/cwpack_config.h b/src/cwpack_config.h index 10ec9fe..b3ede5b 100644 --- a/src/cwpack_config.h +++ b/src/cwpack_config.h @@ -93,7 +93,7 @@ #endif #endif -//#undef COMPILE_FOR_LITTLE_ENDIAN +/* #undef COMPILE_FOR_LITTLE_ENDIAN */