File tree 2 files changed +32
-4
lines changed
2 files changed +32
-4
lines changed Original file line number Diff line number Diff line change @@ -101,6 +101,8 @@ cbor_item_t * cbor_load(cbor_data source,
101
101
.tag = & cbor_builder_tag_callback ,
102
102
103
103
.null = & cbor_builder_null_callback ,
104
+ .undefined = & cbor_builder_undefined_callback ,
105
+ .boolean = & cbor_builder_boolean_callback ,
104
106
.float2 = & cbor_builder_float2_callback ,
105
107
.float4 = & cbor_builder_float4_callback ,
106
108
.float8 = & cbor_builder_float8_callback ,
@@ -984,8 +986,20 @@ cbor_item_t * cbor_new_null()
984
986
cbor_set_ctrl (item , CBOR_CTRL_NULL );
985
987
return item ;
986
988
}
987
- cbor_item_t * cbor_new_undef ();
988
- cbor_item_t * cbor_new_bool (bool value );
989
+
990
+ cbor_item_t * cbor_new_undef ()
991
+ {
992
+ cbor_item_t * item = cbor_new_ctrl ();
993
+ cbor_set_ctrl (item , CBOR_CTRL_UNDEF );
994
+ return item ;
995
+ }
996
+
997
+ cbor_item_t * cbor_new_bool (bool value )
998
+ {
999
+ cbor_item_t * item = cbor_new_ctrl ();
1000
+ cbor_set_ctrl (item , value ? CBOR_CTRL_TRUE : CBOR_CTRL_FALSE );
1001
+ return item ;
1002
+ }
989
1003
990
1004
cbor_item_t * cbor_new_definite_string ()
991
1005
{
Original file line number Diff line number Diff line change 3
3
#include <assert.h>
4
4
#include <string.h>
5
5
#include <math.h>
6
+ #include <zlib.h>
6
7
7
8
// TODO asserts
8
9
// TODO check mallocs
@@ -338,8 +339,21 @@ enum cbor_callback_result cbor_builder_null_callback(void * context)
338
339
return CBOR_CALLBACK_OK ;
339
340
}
340
341
341
- enum cbor_callback_result cbor_builder_undefined_callback (void * context );
342
- enum cbor_callback_result cbor_builder_boolean_callback (void * context , bool value );
342
+ enum cbor_callback_result cbor_builder_undefined_callback (void * context )
343
+ {
344
+ struct _cbor_decoder_context * ctx = context ;
345
+ cbor_item_t * res = cbor_new_undef ();
346
+ _cbor_builder_append (res , ctx );
347
+ return CBOR_CALLBACK_OK ;
348
+ }
349
+
350
+ enum cbor_callback_result cbor_builder_boolean_callback (void * context , bool value )
351
+ {
352
+ struct _cbor_decoder_context * ctx = context ;
353
+ cbor_item_t * res = cbor_new_bool (value );
354
+ _cbor_builder_append (res , ctx );
355
+ return CBOR_CALLBACK_OK ;
356
+ }
343
357
344
358
enum cbor_callback_result cbor_builder_tag_callback (void * context , uint64_t value )
345
359
{
You can’t perform that action at this time.
0 commit comments