#include #include static mpack_reader_t r; static const char data[] = "\x82\xA7""compact\xC3\xA6""schema\x00"; TEST(mpack, get_tag_example) { mpack_tag_t t; char key[32]; /* char val[32]; */ mpack_reader_init_data(&r, data, sizeof(data) - 1); size_t keys = mpack_expect_map(&r); printf("map size: %zu\n", keys); for (size_t n = 0; n < keys; n++) { mpack_expect_cstr(&r, key, sizeof(key)); t = mpack_read_tag(&r); switch (t.type) { case mpack_type_str: mpack_read_bytes(&r, key, t.v.l); break; default: break; } printf("key: %s\n", key); /* printf("val: %s\n", val); */ } mpack_done_map(&r); mpack_reader_destroy(&r); }