size_t cbor_serialize_tag(const cbor_item_t *item, unsigned char *buffer, size_t buffer_size) { assert(cbor_isa_tag(item)); size_t written = cbor_encode_tag(cbor_tag_value(item), buffer, buffer_size); if (written == 0) return 0; size_t item_written = cbor_serialize(cbor_tag_item(item), buffer + written, buffer_size - written); if (item_written == 0) return 0; else return written + item_written; }
static void test_embedded_tag(void **state) { assert_int_equal(1, cbor_encode_tag(1, buffer, 512)); assert_memory_equal(buffer, ((unsigned char[]) { 0xC1 }), 1);