@@ -329,7 +329,9 @@ CBOR_INLINE_API bool cbor_value_is_boolean(const CborValue *value)
329
329
{ return value -> type == CborBooleanType ; }
330
330
CBOR_INLINE_API CborError cbor_value_get_boolean (const CborValue * value , bool * result )
331
331
{
332
+ #ifdef HOST_BUILD
332
333
assert (cbor_value_is_boolean (value ));
334
+ #endif
333
335
* result = !!value -> extra ;
334
336
return CborNoError ;
335
337
}
@@ -339,7 +341,9 @@ CBOR_INLINE_API bool cbor_value_is_simple_type(const CborValue *value)
339
341
{ return value -> type == CborSimpleType ; }
340
342
CBOR_INLINE_API CborError cbor_value_get_simple_type (const CborValue * value , uint8_t * result )
341
343
{
344
+ #ifdef HOST_BUILD
342
345
assert (cbor_value_is_simple_type (value ));
346
+ #endif
343
347
* result = (uint8_t )value -> extra ;
344
348
return CborNoError ;
345
349
}
@@ -354,21 +358,27 @@ CBOR_INLINE_API bool cbor_value_is_negative_integer(const CborValue *value)
354
358
355
359
CBOR_INLINE_API CborError cbor_value_get_raw_integer (const CborValue * value , uint64_t * result )
356
360
{
361
+ #ifdef HOST_BUILD
357
362
assert (cbor_value_is_integer (value ));
363
+ #endif
358
364
* result = _cbor_value_extract_int64_helper (value );
359
365
return CborNoError ;
360
366
}
361
367
362
368
CBOR_INLINE_API CborError cbor_value_get_uint64 (const CborValue * value , uint64_t * result )
363
369
{
370
+ #ifdef HOST_BUILD
364
371
assert (cbor_value_is_unsigned_integer (value ));
372
+ #endif
365
373
* result = _cbor_value_extract_int64_helper (value );
366
374
return CborNoError ;
367
375
}
368
376
369
377
CBOR_INLINE_API CborError cbor_value_get_int64 (const CborValue * value , int64_t * result )
370
378
{
379
+ #ifdef HOST_BUILD
371
380
assert (cbor_value_is_integer (value ));
381
+ #endif
372
382
* result = (int64_t ) _cbor_value_extract_int64_helper (value );
373
383
if (value -> flags & CborIteratorFlag_NegativeInteger )
374
384
* result = - * result - 1 ;
@@ -377,7 +387,9 @@ CBOR_INLINE_API CborError cbor_value_get_int64(const CborValue *value, int64_t *
377
387
378
388
CBOR_INLINE_API CborError cbor_value_get_int (const CborValue * value , int * result )
379
389
{
390
+ #ifdef HOST_BUILD
380
391
assert (cbor_value_is_integer (value ));
392
+ #endif
381
393
* result = (int ) _cbor_value_extract_int64_helper (value );
382
394
if (value -> flags & CborIteratorFlag_NegativeInteger )
383
395
* result = - * result - 1 ;
@@ -395,7 +407,9 @@ CBOR_INLINE_API bool cbor_value_is_tag(const CborValue *value)
395
407
{ return value -> type == CborTagType ; }
396
408
CBOR_INLINE_API CborError cbor_value_get_tag (const CborValue * value , CborTag * result )
397
409
{
410
+ #ifdef HOST_BUILD
398
411
assert (cbor_value_is_tag (value ));
412
+ #endif
399
413
* result = _cbor_value_extract_int64_helper (value );
400
414
return CborNoError ;
401
415
}
@@ -410,7 +424,9 @@ CBOR_INLINE_API bool cbor_value_is_text_string(const CborValue *value)
410
424
CBOR_INLINE_API CborError cbor_value_get_string_length (const CborValue * value , size_t * length )
411
425
{
412
426
uint64_t v ;
427
+ #ifdef HOST_BUILD
413
428
assert (cbor_value_is_byte_string (value ) || cbor_value_is_text_string (value ));
429
+ #endif
414
430
if (!cbor_value_is_length_known (value ))
415
431
return CborErrorUnknownLength ;
416
432
v = _cbor_value_extract_int64_helper (value );
@@ -430,26 +446,34 @@ CBOR_API CborError cbor_value_calculate_string_length(const CborValue *value, si
430
446
CBOR_INLINE_API CborError cbor_value_copy_text_string (const CborValue * value , char * buffer ,
431
447
size_t * buflen , CborValue * next )
432
448
{
449
+ #ifdef HOST_BUILD
433
450
assert (cbor_value_is_text_string (value ));
451
+ #endif
434
452
return _cbor_value_copy_string (value , buffer , buflen , next );
435
453
}
436
454
CBOR_INLINE_API CborError cbor_value_copy_byte_string (const CborValue * value , uint8_t * buffer ,
437
455
size_t * buflen , CborValue * next )
438
456
{
457
+ #ifdef HOST_BUILD
439
458
assert (cbor_value_is_byte_string (value ));
459
+ #endif
440
460
return _cbor_value_copy_string (value , buffer , buflen , next );
441
461
}
442
462
443
463
CBOR_INLINE_API CborError cbor_value_dup_text_string (const CborValue * value , char * * buffer ,
444
464
size_t * buflen , CborValue * next )
445
465
{
466
+ #ifdef HOST_BUILD
446
467
assert (cbor_value_is_text_string (value ));
468
+ #endif
447
469
return _cbor_value_dup_string (value , (void * * )buffer , buflen , next );
448
470
}
449
471
CBOR_INLINE_API CborError cbor_value_dup_byte_string (const CborValue * value , uint8_t * * buffer ,
450
472
size_t * buflen , CborValue * next )
451
473
{
474
+ #ifdef HOST_BUILD
452
475
assert (cbor_value_is_byte_string (value ));
476
+ #endif
453
477
return _cbor_value_dup_string (value , (void * * )buffer , buflen , next );
454
478
}
455
479
@@ -464,7 +488,9 @@ CBOR_INLINE_API bool cbor_value_is_map(const CborValue *value)
464
488
CBOR_INLINE_API CborError cbor_value_get_array_length (const CborValue * value , size_t * length )
465
489
{
466
490
uint64_t v ;
491
+ #ifdef HOST_BUILD
467
492
assert (cbor_value_is_array (value ));
493
+ #endif
468
494
if (!cbor_value_is_length_known (value ))
469
495
return CborErrorUnknownLength ;
470
496
v = _cbor_value_extract_int64_helper (value );
@@ -477,7 +503,9 @@ CBOR_INLINE_API CborError cbor_value_get_array_length(const CborValue *value, si
477
503
CBOR_INLINE_API CborError cbor_value_get_map_length (const CborValue * value , size_t * length )
478
504
{
479
505
uint64_t v ;
506
+ #ifdef HOST_BUILD
480
507
assert (cbor_value_is_map (value ));
508
+ #endif
481
509
if (!cbor_value_is_length_known (value ))
482
510
return CborErrorUnknownLength ;
483
511
v = _cbor_value_extract_int64_helper (value );
@@ -499,8 +527,10 @@ CBOR_INLINE_API bool cbor_value_is_float(const CborValue *value)
499
527
CBOR_INLINE_API CborError cbor_value_get_float (const CborValue * value , float * result )
500
528
{
501
529
uint32_t data ;
530
+ #ifdef HOST_BUILD
502
531
assert (cbor_value_is_float (value ));
503
532
assert (value -> flags & CborIteratorFlag_IntegerValueTooLarge );
533
+ #endif
504
534
data = (uint32_t )_cbor_value_decode_int64_internal (value );
505
535
memcpy (result , & data , sizeof (* result ));
506
536
return CborNoError ;
@@ -511,8 +541,10 @@ CBOR_INLINE_API bool cbor_value_is_double(const CborValue *value)
511
541
CBOR_INLINE_API CborError cbor_value_get_double (const CborValue * value , double * result )
512
542
{
513
543
uint64_t data ;
544
+ #ifdef HOST_BUILD
514
545
assert (cbor_value_is_double (value ));
515
546
assert (value -> flags & CborIteratorFlag_IntegerValueTooLarge );
547
+ #endif
516
548
data = _cbor_value_decode_int64_internal (value );
517
549
memcpy (result , & data , sizeof (* result ));
518
550
return CborNoError ;
0 commit comments