@@ -120,8 +120,6 @@ cbor_item_t * cbor_load(cbor_data source,
120
120
struct cbor_decoder_result decode_result ;
121
121
* result = (struct cbor_load_result ){ .read = 0 , .error = { .code = CBOR_ERR_NONE } };
122
122
123
- // TODO unify errors
124
- // TODO unify returns
125
123
do {
126
124
if (source_size > result -> read ) { /* Check for overflows */
127
125
decode_result = cbor_stream_decode (source + result -> read , source_size - result -> read , & callbacks , context );
@@ -1175,7 +1173,7 @@ cbor_item_t * cbor_new_definite_array(size_t size)
1175
1173
* item = (cbor_item_t ){
1176
1174
.refcount = 1 ,
1177
1175
.type = CBOR_TYPE_ARRAY ,
1178
- .metadata = { .array_metadata = { .type = _CBOR_ARRAY_METADATA_DEFINITE , .size = 0 } },
1176
+ .metadata = { .array_metadata = { .type = _CBOR_METADATA_DEFINITE , .size = 0 } },
1179
1177
.data = malloc (sizeof (cbor_item_t * ) * size )
1180
1178
};
1181
1179
return item ;
@@ -1187,7 +1185,7 @@ cbor_item_t * cbor_new_indefinite_array()
1187
1185
* item = (cbor_item_t ){
1188
1186
.refcount = 1 ,
1189
1187
.type = CBOR_TYPE_ARRAY ,
1190
- .metadata = { .array_metadata = { .type = _CBOR_ARRAY_METADATA_INDEFINITE , .size = 0 } },
1188
+ .metadata = { .array_metadata = { .type = _CBOR_METADATA_INDEFINITE , .size = 0 } },
1191
1189
.data = NULL /* Can be safely realloc-ed */
1192
1190
};
1193
1191
return item ;
@@ -1211,6 +1209,31 @@ cbor_item_t * cbor_array_push(cbor_item_t * array, cbor_item_t * pushee)
1211
1209
return array ;
1212
1210
}
1213
1211
1212
+ size_t cbor_map_size (cbor_item_t * item )
1213
+ {
1214
+ assert (cbor_isa_map (item ));
1215
+ return item -> metadata .map_metadata .size ;
1216
+ }
1217
+
1218
+ cbor_item_t * cbor_new_definite_map (size_t size )
1219
+ {
1220
+ cbor_item_t * item = malloc (sizeof (cbor_item_t ));
1221
+ * item = (cbor_item_t ){
1222
+ .refcount = 1 ,
1223
+ .type = CBOR_TYPE_MAP ,
1224
+ .metadata = { .map_metadata = { .size = 0 } },
1225
+ .data = malloc (sizeof (cbor_item_t * ) * size )
1226
+ };
1227
+ return item ;
1228
+ }
1229
+
1230
+ cbor_item_t * cbor_new_indefinite_map ();
1231
+ cbor_item_t * cbor_map_add (cbor_item_t * item , struct cbor_pair pair );
1232
+ bool cbor_map_is_definite (cbor_item_t * item );
1233
+ bool cbor_map_is_indefinite (cbor_item_t * item );
1234
+ struct cbor_pair * cbor_map_handle (cbor_item_t * item );
1235
+
1236
+
1214
1237
cbor_item_t * cbor_new_tag (uint64_t value )
1215
1238
{
1216
1239
cbor_item_t * item = malloc (sizeof (cbor_item_t ));
@@ -1320,8 +1343,6 @@ bool cbor_is_float(const cbor_item_t * item)
1320
1343
return cbor_isa_float_ctrl (item ) && !cbor_float_ctrl_is_ctrl (item );
1321
1344
}
1322
1345
1323
-
1324
-
1325
1346
size_t cbor_bytestring_length (const cbor_item_t * item ) {
1326
1347
assert (cbor_isa_bytestring (item ));
1327
1348
return item -> metadata .bytestring_metadata .length ;
@@ -1352,13 +1373,13 @@ size_t cbor_array_size(cbor_item_t * item)
1352
1373
bool cbor_array_is_definite (cbor_item_t * item )
1353
1374
{
1354
1375
assert (cbor_isa_array (item ));
1355
- return item -> metadata .array_metadata .type == _CBOR_ARRAY_METADATA_DEFINITE ;
1376
+ return item -> metadata .array_metadata .type == _CBOR_METADATA_DEFINITE ;
1356
1377
}
1357
1378
1358
1379
bool cbor_array_is_indefinite (cbor_item_t * item )
1359
1380
{
1360
1381
assert (cbor_isa_array (item ));
1361
- return item -> metadata .array_metadata .type == _CBOR_ARRAY_METADATA_INDEFINITE ;
1382
+ return item -> metadata .array_metadata .type == _CBOR_METADATA_INDEFINITE ;
1362
1383
}
1363
1384
1364
1385
cbor_item_t * * cbor_array_handle (cbor_item_t * item )
0 commit comments