All comments /* */
diff --git a/inc/qcbor/qcbor_common.h b/inc/qcbor/qcbor_common.h
index 1fd5bc8..b4afb37 100644
--- a/inc/qcbor/qcbor_common.h
+++ b/inc/qcbor/qcbor_common.h
@@ -1,35 +1,35 @@
-/*==============================================================================
- Copyright (c) 2016-2018, The Linux Foundation.
- Copyright (c) 2018-2023, Laurence Lundblade.
- Copyright (c) 2021, Arm Limited.
- All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors, nor the name "Laurence Lundblade" may be used to
- endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- =============================================================================*/
+/* ==========================================================================
+ * Copyright (c) 2016-2018, The Linux Foundation.
+ * Copyright (c) 2018-2023, Laurence Lundblade.
+ * Copyright (c) 2021, Arm Limited.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors, nor the name "Laurence Lundblade" may be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ========================================================================= */
#ifndef qcbor_common_h
@@ -433,7 +433,7 @@
/** More than @ref QCBOR_MAX_TAGS_PER_ITEM tags encountered for a
* CBOR ITEM. @ref QCBOR_MAX_TAGS_PER_ITEM is a limit of this
* implementation. During decoding, too many tags in the
- * caller-configured tag list, or not enough space in
+ * caller-configured tag list, or not enough space in
* @ref QCBORTagListOut. This error makes no further decoding
* possible. */
QCBOR_ERR_TOO_MANY_TAGS = 60,
diff --git a/inc/qcbor/qcbor_private.h b/inc/qcbor/qcbor_private.h
index 725f27b..4532767 100644
--- a/inc/qcbor/qcbor_private.h
+++ b/inc/qcbor/qcbor_private.h
@@ -1,35 +1,35 @@
-/*==============================================================================
- Copyright (c) 2016-2018, The Linux Foundation.
- Copyright (c) 2018-2023, Laurence Lundblade.
- Copyright (c) 2021, Arm Limited.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors, nor the name "Laurence Lundblade" may be used to
- endorse or promote products derived from this software without
- specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- =============================================================================*/
+/* ==========================================================================
+ * Copyright (c) 2016-2018, The Linux Foundation.
+ * Copyright (c) 2018-2023, Laurence Lundblade.
+ * Copyright (c) 2021, Arm Limited.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors, nor the name "Laurence Lundblade" may be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ========================================================================= */
#ifndef qcbor_private_h
@@ -49,8 +49,8 @@
#endif
-/* It was originally defined as QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA,
- * but this is incosistent with all the other QCBOR_DISABLE_
+/* This was originally defined as QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA,
+ * but this is inconsistent with all the other QCBOR_DISABLE_
* #defines, so the name was changed and this was added for backwards
* compatibility
*/
@@ -71,6 +71,56 @@
#endif /* USEFULBUF_DISABLE_ALL_FLOAT */
+/*
+ * Convenience macro for selecting the proper return value in case floating
+ * point feature(s) are disabled.
+ *
+ * The macros:
+ *
+ * FLOAT_ERR_CODE_NO_FLOAT(x) Can be used when disabled floating point should
+ * result error, and all other cases should return
+ * 'x'.
+ *
+ * The below macros always return QCBOR_ERR_ALL_FLOAT_DISABLED when all
+ * floating point is disabled.
+ *
+ * FLOAT_ERR_CODE_NO_HALF_PREC(x) Can be used when disabled preferred float
+ * results in error, and all other cases should
+ * return 'x'.
+ * FLOAT_ERR_CODE_NO_FLOAT_HW(x) Can be used when disabled hardware floating
+ * point results in error, and all other cases
+ * should return 'x'.
+ * FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) Can be used when either disabled
+ * preferred float or disabling
+ * hardware floating point results in
+ * error, and all other cases should
+ * return 'x'.
+ */
+#ifdef USEFULBUF_DISABLE_ALL_FLOAT
+ #define FLOAT_ERR_CODE_NO_FLOAT(x) QCBOR_ERR_ALL_FLOAT_DISABLED
+ #define FLOAT_ERR_CODE_NO_HALF_PREC(x) QCBOR_ERR_ALL_FLOAT_DISABLED
+ #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) QCBOR_ERR_ALL_FLOAT_DISABLED
+ #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_ALL_FLOAT_DISABLED
+#else /* USEFULBUF_DISABLE_ALL_FLOAT*/
+ #define FLOAT_ERR_CODE_NO_FLOAT(x) x
+ #ifdef QCBOR_DISABLE_PREFERRED_FLOAT
+ #define FLOAT_ERR_CODE_NO_HALF_PREC(x) QCBOR_ERR_HALF_PRECISION_DISABLED
+ #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_HALF_PRECISION_DISABLED
+ #else /* QCBOR_DISABLE_PREFERRED_FLOAT */
+ #define FLOAT_ERR_CODE_NO_HALF_PREC(x) x
+ #ifdef QCBOR_DISABLE_FLOAT_HW_USE
+ #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_HW_FLOAT_DISABLED
+ #else
+ #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) x
+ #endif
+ #endif /* QCBOR_DISABLE_PREFERRED_FLOAT */
+ #ifdef QCBOR_DISABLE_FLOAT_HW_USE
+ #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) QCBOR_ERR_HW_FLOAT_DISABLED
+ #else /* QCBOR_DISABLE_FLOAT_HW_USE */
+ #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) x
+ #endif /* QCBOR_DISABLE_FLOAT_HW_USE */
+#endif /*USEFULBUF_DISABLE_ALL_FLOAT*/
+
/*
* These are special values for the AdditionalInfo bits that are part of
@@ -129,55 +179,7 @@
#define QCBOR_MAX_TAGS_PER_ITEM1 4
-/*
- * Convenience macro for selecting the proper return value in case floating
- * point feature(s) are disabled.
- *
- * The macros:
- *
- * FLOAT_ERR_CODE_NO_FLOAT(x) Can be used when disabled floating point should
- * result error, and all other cases should return
- * 'x'.
- *
- * The below macros always return QCBOR_ERR_ALL_FLOAT_DISABLED when all
- * floating point is disabled.
- *
- * FLOAT_ERR_CODE_NO_HALF_PREC(x) Can be used when disabled preferred float
- * results in error, and all other cases should
- * return 'x'.
- * FLOAT_ERR_CODE_NO_FLOAT_HW(x) Can be used when disabled hardware floating
- * point results in error, and all other cases
- * should return 'x'.
- * FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) Can be used when either disabled
- * preferred float or disabling
- * hardware floating point results in
- * error, and all other cases should
- * return 'x'.
- */
-#ifdef USEFULBUF_DISABLE_ALL_FLOAT
- #define FLOAT_ERR_CODE_NO_FLOAT(x) QCBOR_ERR_ALL_FLOAT_DISABLED
- #define FLOAT_ERR_CODE_NO_HALF_PREC(x) QCBOR_ERR_ALL_FLOAT_DISABLED
- #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) QCBOR_ERR_ALL_FLOAT_DISABLED
- #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_ALL_FLOAT_DISABLED
-#else /* USEFULBUF_DISABLE_ALL_FLOAT*/
- #define FLOAT_ERR_CODE_NO_FLOAT(x) x
- #ifdef QCBOR_DISABLE_PREFERRED_FLOAT
- #define FLOAT_ERR_CODE_NO_HALF_PREC(x) QCBOR_ERR_HALF_PRECISION_DISABLED
- #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_HALF_PRECISION_DISABLED
- #else /* QCBOR_DISABLE_PREFERRED_FLOAT */
- #define FLOAT_ERR_CODE_NO_HALF_PREC(x) x
- #ifdef QCBOR_DISABLE_FLOAT_HW_USE
- #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) QCBOR_ERR_HW_FLOAT_DISABLED
- #else
- #define FLOAT_ERR_CODE_NO_HALF_PREC_NO_FLOAT_HW(x) x
- #endif
- #endif /* QCBOR_DISABLE_PREFERRED_FLOAT */
- #ifdef QCBOR_DISABLE_FLOAT_HW_USE
- #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) QCBOR_ERR_HW_FLOAT_DISABLED
- #else /* QCBOR_DISABLE_FLOAT_HW_USE */
- #define FLOAT_ERR_CODE_NO_FLOAT_HW(x) x
- #endif /* QCBOR_DISABLE_FLOAT_HW_USE */
-#endif /*USEFULBUF_DISABLE_ALL_FLOAT*/
+
/*
@@ -196,15 +198,15 @@
* 32-bit machine: (15 + 1) * (4 + 2 + 1 + 1 pad) + 4 = 132 bytes
*/
typedef struct __QCBORTrackNesting {
- // PRIVATE DATA STRUCTURE
+ /* PRIVATE DATA STRUCTURE */
struct {
- // See function QCBOREncode_OpenMapOrArray() for details on how this works
- uint32_t uStart; // uStart is the byte position where the array starts
- uint16_t uCount; // Number of items in the arrary or map; counts items
- // in a map, not pairs of items
- uint8_t uMajorType; // Indicates if item is a map or an array
- } pArrays[QCBOR_MAX_ARRAY_NESTING+1], // stored state for the nesting levels
- *pCurrentNesting; // the current nesting level
+ /* See QCBOREncode_OpenMapOrArray() for details on how this works */
+ uint32_t uStart; /* uStart is the position where the array starts */
+ uint16_t uCount; /* Number of items in the arrary or map; counts items
+ * in a map, not pairs of items */
+ uint8_t uMajorType; /* Indicates if item is a map or an array */
+ } pArrays[QCBOR_MAX_ARRAY_NESTING+1], /* stored state for nesting levels */
+ *pCurrentNesting; /* the current nesting level */
} QCBORTrackNesting;
@@ -219,11 +221,11 @@
* 32-bit machine: 15 + 1 + 132 = 148 bytes
*/
struct _QCBOREncodeContext {
- // PRIVATE DATA STRUCTURE
- UsefulOutBuf OutBuf; // Pointer to output buffer, its length and
- // position in it
- uint8_t uError; // Error state, always from QCBORError enum
- QCBORTrackNesting nesting; // Keep track of array and map nesting
+ /* PRIVATE DATA STRUCTURE */
+ UsefulOutBuf OutBuf; /* Pointer to output buffer, its length and
+ * position in it. */
+ uint8_t uError; /* Error state, always from QCBORError enum */
+ QCBORTrackNesting nesting; /* Keep track of array and map nesting */
};
@@ -244,41 +246,42 @@
* 32-bit machine size is 200 bytes
*/
typedef struct __QCBORDecodeNesting {
- // PRIVATE DATA STRUCTURE
+ /* PRIVATE DATA STRUCTURE */
struct nesting_decode_level {
/*
- This keeps tracking info for each nesting level. There are two
- main types of levels:
- 1) Byte count tracking. This is for the top level input CBOR
- which might be a single item or a CBOR sequence and byte
- string wrapped encoded CBOR.
- 2) Item tracking. This is for maps and arrays.
-
- uLevelType has value QCBOR_TYPE_BYTE_STRING for 1) and
- QCBOR_TYPE_MAP or QCBOR_TYPE_ARRAY or QCBOR_TYPE_MAP_AS_ARRAY
- for 2).
-
- Item tracking is either for definite or indefinite-length
- maps/arrays. For definite lengths, the total count and items
- unconsumed are tracked. For indefinite-length, uTotalCount is
- QCBOR_COUNT_INDICATES_INDEFINITE_LENGTH (UINT16_MAX) and there
- is no per-item count of members. For indefinite-length maps and
- arrays, uCountCursor is UINT16_MAX if not consumed and zero if
- it is consumed in the pre-order traversal. Additionally, if
- entered in bounded mode, uCountCursor is
- QCBOR_COUNT_INDICATES_ZERO_LENGTH to indicate it is empty.
-
- This also records whether a level is bounded or not. All
- byte-count tracked levels (the top-level sequence and
- bstr-wrapped CBOR) are bounded. Maps and arrays may or may not
- be bounded. They are bounded if they were Entered() and not if
- they were traversed with GetNext(). They are marked as bounded
- by uStartOffset not being UINT32_MAX.
+ * This keeps tracking info for each nesting level. There are two
+ * main types of levels:
+ * 1) Byte count tracking. This is for the top level input CBOR
+ * which might be a single item or a CBOR sequence and byte
+ * string wrapped encoded CBOR.
+ * 2) Item tracking. This is for maps and arrays.
+ *
+ * uLevelType has value QCBOR_TYPE_BYTE_STRING for 1) and
+ * QCBOR_TYPE_MAP or QCBOR_TYPE_ARRAY or QCBOR_TYPE_MAP_AS_ARRAY
+ * for 2).
+ *
+ * Item tracking is either for definite or indefinite-length
+ * maps/arrays. For definite lengths, the total count and items
+ * unconsumed are tracked. For indefinite-length, uTotalCount is
+ * QCBOR_COUNT_INDICATES_INDEFINITE_LENGTH (UINT16_MAX) and
+ * there is no per-item count of members. For indefinite-length
+ * maps and arrays, uCountCursor is UINT16_MAX if not consumed
+ * and zero if it is consumed in the pre-order
+ * traversal. Additionally, if entered in bounded mode,
+ * uCountCursor is QCBOR_COUNT_INDICATES_ZERO_LENGTH to indicate
+ * it is empty.
+ *
+ * This also records whether a level is bounded or not. All
+ * byte-count tracked levels (the top-level sequence and
+ * bstr-wrapped CBOR) are bounded. Maps and arrays may or may
+ * not be bounded. They are bounded if they were Entered() and
+ * not if they were traversed with GetNext(). They are marked as
+ * bounded by uStartOffset not being UINT32_MAX.
*/
/*
- If uLevelType can put in a separately indexed array, the union/
- struct will be 8 bytes rather than 9 and a lot of wasted
- padding for alignment will be saved.
+ * If uLevelType can put in a separately indexed array, the
+ * union/ struct will be 8 bytes rather than 9 and a lot of
+ * wasted padding for alignment will be saved.
*/
uint8_t uLevelType;
union {
@@ -302,25 +305,25 @@
*pCurrent,
*pCurrentBounded;
/*
- pCurrent is for item-by-item pre-order traversal.
-
- pCurrentBounded points to the current bounding level or is NULL if
- there isn't one.
-
- pCurrent must always be below pCurrentBounded as the pre-order
- traversal is always bounded by the bounding level.
-
- When a bounded level is entered, the pre-order traversal is set to
- the first item in the bounded level. When a bounded level is
- exited, the pre-order traversl is set to the next item after the
- map, array or bstr. This may be more than one level up, or even
- the end of the input CBOR.
+ * pCurrent is for item-by-item pre-order traversal.
+ *
+ * pCurrentBounded points to the current bounding level or is NULL
+ * if there isn't one.
+ *
+ * pCurrent must always be below pCurrentBounded as the pre-order
+ * traversal is always bounded by the bounding level.
+ *
+ * When a bounded level is entered, the pre-order traversal is set
+ * to the first item in the bounded level. When a bounded level is
+ * exited, the pre-order traversl is set to the next item after the
+ * map, array or bstr. This may be more than one level up, or even
+ * the end of the input CBOR.
*/
} QCBORDecodeNesting;
typedef struct {
- // PRIVATE DATA STRUCTURE
+ /* PRIVATE DATA STRUCTURE */
void *pAllocateCxt;
UsefulBuf (* pfAllocator)(void *pAllocateCxt, void *pOldMem, size_t uNewSize);
} QCBORInternalAllocator;
@@ -329,34 +332,34 @@
/*
* PRIVATE DATA STRUCTURE
*
- * The decode context. This data structure plus the public QCBORDecode_xxx
- * functions form an "object" that does CBOR decoding.
+ * The decode context. This data structure plus the public
+ * QCBORDecode_xxx functions form an "object" that does CBOR decoding.
*
* Size approximation (varies with CPU/compiler):
* 64-bit machine: 32 + 1 + 1 + 6 bytes padding + 72 + 16 + 8 + 8 = 144 bytes
* 32-bit machine: 16 + 1 + 1 + 2 bytes padding + 68 + 8 + 8 + 4 = 108 bytes
*/
struct _QCBORDecodeContext {
- // PRIVATE DATA STRUCTURE
+ /* PRIVATE DATA STRUCTURE */
UsefulInputBuf InBuf;
-
QCBORDecodeNesting nesting;
-
- // If a string allocator is configured for indefinite-length
- // strings, it is configured here.
+ /* If a string allocator is configured for indefinite-length
+ * strings, it is configured here.
+ */
QCBORInternalAllocator StringAllocator;
- // These are special for the internal MemPool allocator.
- // They are not used otherwise. We tried packing these
- // in the MemPool itself, but there are issues
- // with memory alignment.
+ /* These are special for the internal MemPool allocator. They are
+ * not used otherwise. We tried packing these in the MemPool
+ * itself, but there are issues with memory alignment.
+ */
uint32_t uMemPoolSize;
uint32_t uMemPoolFreeOffset;
- // A cached offset to the end of the current map
- // 0 if no value is cached.
+ /* A cached offset to the end of the current map 0 if no value is
+ * cached.
+ */
#define QCBOR_MAP_OFFSET_CACHE_INVALID UINT32_MAX
uint32_t uMapEndOffsetCache;
@@ -371,8 +374,8 @@
};
-/* Used internally in the impementation here
- * Must not conflict with any of the official CBOR types
+/* Used internally in the impementation here Must not conflict with
+ * any of the official CBOR types
*/
#define CBOR_MAJOR_NONE_TYPE_RAW 9
#define CBOR_MAJOR_NONE_TAG_LABEL_REORDER 10
@@ -380,7 +383,7 @@
#define CBOR_MAJOR_NONE_TYPE_OPEN_BSTR 12
-// Add this to types to indicate they are to be encoded as indefinite lengths
+/* Add this to types to indicate they are to be encoded as indefinite lengths */
#define QCBOR_INDEFINITE_LEN_TYPE_MODIFIER 0x80
#define CBOR_MAJOR_NONE_TYPE_ARRAY_INDEFINITE_LEN \
CBOR_MAJOR_TYPE_ARRAY + QCBOR_INDEFINITE_LEN_TYPE_MODIFIER