add decoding of some tagged types
diff --git a/inc/qcbor/qcbor_decode.h b/inc/qcbor/qcbor_decode.h
index 67bcf73..7b66d92 100644
--- a/inc/qcbor/qcbor_decode.h
+++ b/inc/qcbor/qcbor_decode.h
@@ -416,6 +416,14 @@
#define QCBOR_CONVERT_TYPE_BIG_NUM 0x20
+/* For protocols items that require explicit tags. The item must be explicitly tagged. */
+#define QCBOR_TAGSPEC_MATCH_TAG 0
+/** For protocol items that must NOT be tagged. The type is known implicitly from the labell, position or some other context. */
+#define QCBOR_TAGSPEC_MATCH_TAG_CONTENT_TYPE 1
+/** Either of the above two are allowed. This is highly discourged by the CBOR specification. One of the above to should be used instead. */
+#define QCBOR_TAGSPEC_MATCH_EITHER 2
+
+
/**
@brief The type defining what a string allocator function must do.
@@ -1273,7 +1281,104 @@
void QCBORDecode_GetDateStringInMapSZXX(QCBORDecodeContext *pCtx, uint8_t uTagRequired, const char *szLabel, UsefulBufC *pValue);
+ void QCBORDecode_GetEpocDate(QCBORDecodeContext *pCtx, uint8_t uTagRequired, int64_t *puTime);
+ static void QCBORDecode_GetEpochDateInMapN(QCBORDecodeContext *pCtx, uint8_t uTagRequired, int64_t nLabel, int64_t *puTime);
+
+ void QCBORDecode_GetEpochDateInMapSZ(QCBORDecodeContext *pCtx, uint8_t uTagRequired, const char *szLabel, int64_t *puTime);
+
+
+static inline void QCBORDecode_GetURI(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ UsefulBufC *pUUID);
+
+inline static void QCBORDecode_GetURIInMapN(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pUUID);
+
+inline static void QCBORDecode_GetURIInMapSZ(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ const char * szLabel,
+ UsefulBufC *pUUID);
+
+/*
+ @brief Decode the next item as a URI.
+
+ @param[in] pCtx The decode context.
+ @param[in] uTagRequirement One of @c QCBOR_TAGSPEC_MATCH_XXX.
+ @param[out] pURI The decoded URI.
+
+ Error handling is like QCBORDecode_GetBytes().
+
+ See XYZ for discussion on tag requirements.
+ */
+static void QCBORDecode_GetURI(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ UsefulBufC *pURI);
+
+static void QCBORDecode_GetURIInMapN(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pURI);
+
+static void QCBORDecode_GetURIInMapSZ(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ const char * szLabel,
+ UsefulBufC *pURI);
+
+
+/*
+ @brief Decode the next item as a base64 encoded text.
+
+ @param[in] pCtx The decode context.
+ @param[in] uTagRequirement One of @c QCBOR_TAGSPEC_MATCH_XXX.
+ @param[out] pRegex The decoded base64 text.
+
+ Error handling is like QCBORDecode_GetBytes().
+
+ See XYZ for discussion on tag requirements.
+
+ Note that this doesn not actually remove the base64 encoding.
+*/
+static void QCBORDecode_GetB64(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ UsefulBufC *pB64Text);
+
+static void QCBORDecode_GetB64InMapN(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pB64Text);
+
+static void QCBORDecode_GetB64InMapSZ(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ const char *szLabel,
+ UsefulBufC *pB64Text);
+
+/*
+ @brief Decode the next item as a regular expression.
+
+ @param[in] pCtx The decode context.
+ @param[in] uTagRequirement One of @c QCBOR_TAGSPEC_MATCH_XXX.
+ @param[out] pRegex The decoded regular expression.
+
+ Error handling is like QCBORDecode_GetBytes().
+
+ See XYZ for discussion on tag requirements.
+ */
+static void QCBORDecode_GetRegex(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ UsefulBufC *pRegex);
+
+static void QCBORDecode_GetRegexInMapN(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pRegex);
+
+static void QCBORDecode_GetRegexInMapSZ(QCBORDecodeContext *pCtx,
+ uint8_t uTagRequirement,
+ const char * szLabel,
+ UsefulBufC *pRegex);
/**
@@ -1864,8 +1969,11 @@
#define QCBOR_TAGSPEC_MATCH_TAG_CONTENT_TYPE 1 // When the tag type is known from the context of the protocol
#define QCBOR_TAGSPEC_MATCH_EITHER 2 // CBOR protocols that need this are designed against recommended tag use !!
typedef struct {
+ /* One of QCBOR_TAGSPEC_MATCH_xxx */
uint8_t uTagRequirement;
+ /* The tagged type translated into QCBOR_TYPE_XXX. Used to match explicit tagging */
uint8_t uTaggedType;
+ /* The types of the content, which are used to match implicit tagging */
uint8_t uAllowedContentTypes[6];
} TagSpecification;
@@ -1883,19 +1991,19 @@
QCBORItem *pItem);
void QCBORDecode_GetTaggedItemInMapSZ(QCBORDecodeContext *pMe,
- const char * szLabel,
- TagSpecification TagSpec,
- QCBORItem *pItem);
-
-void QCBORDecode_GetTaggedStringInMapN(QCBORDecodeContext *pMe,
- int64_t nLabel,
- TagSpecification TagSpec,
- UsefulBufC *pString);
-
-void QCBORDecode_GetTaggedStringInMapSZ(QCBORDecodeContext *pMe,
const char * szLabel,
TagSpecification TagSpec,
- UsefulBufC *pString);
+ QCBORItem *pItem);
+
+void QCBORDecode_GetTaggedStringInMapN(QCBORDecodeContext *pMe,
+ int64_t nLabel,
+ TagSpecification TagSpec,
+ UsefulBufC *pString);
+
+void QCBORDecode_GetTaggedStringInMapSZ(QCBORDecodeContext *pMe,
+ const char * szLabel,
+ TagSpecification TagSpec,
+ UsefulBufC *pString);
static inline void QCBORDecode_GetBytes(QCBORDecodeContext *pMe, UsefulBufC *pValue)
@@ -1920,12 +2028,6 @@
QCBORDecode_GetTaggedStringInMapSZ(pMe, szLabel, TagSpec, pBstr);
}
-
-/*inline static void QCBORDecode_GetTextOld(QCBORDecodeContext *pMe, UsefulBufC *pValue)
-{
- QCBORDecode_GetTaggedStringInternal(pMe, 0, QCBOR_TYPE_TEXT_STRING, QCBOR_TYPE_TEXT_STRING, pValue);
-} */
-
static inline void QCBORDecode_GetText(QCBORDecodeContext *pMe, UsefulBufC *pValue)
{
// Complier should make this just 64-bit integer parameter
@@ -1959,25 +2061,128 @@
}
-inline static void QCBORDecode_GetDateStringInMapN(QCBORDecodeContext *pMe, uint8_t uTagRequirement, int64_t nLabel, UsefulBufC *pText)
+inline static void QCBORDecode_GetDateStringInMapN(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pText)
{
const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_DATE_STRING, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
- QCBORItem Item;
- QCBORDecode_GetTaggedItemInMapN(pMe, nLabel, TagSpec, &Item);
- *pText = Item.val.string;
+ QCBORDecode_GetTaggedStringInMapN(pMe, nLabel, TagSpec, pText);
}
-inline static void QCBORDecode_GetDateStringInMapSZ(QCBORDecodeContext *pMe, uint8_t uTagRequirement, const char *szLabel, UsefulBufC *pText)
+inline static void QCBORDecode_GetDateStringInMapSZ(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ const char *szLabel,
+ UsefulBufC *pText)
{
const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_DATE_STRING, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
- QCBORItem Item;
- QCBORDecode_GetTaggedItemInMapSZ(pMe, szLabel, TagSpec, &Item);
- *pText = Item.val.string;
+ QCBORDecode_GetTaggedStringInMapSZ(pMe, szLabel, TagSpec, pText);
}
-static inline void QCBORDecode_GetBinaryUUID(QCBORDecodeContext *pMe, uint8_t uTagRequirement, UsefulBufC *pUUID)
+
+
+
+static inline void QCBORDecode_GetURI(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ UsefulBufC *pUUID)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_URI, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInternal(pMe, TagSpec, pUUID);
+}
+
+
+inline static void QCBORDecode_GetURIInMapN(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pUUID)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_URI, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInMapN(pMe, nLabel, TagSpec, pUUID);
+}
+
+inline static void QCBORDecode_GetURIInMapSZ(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ const char *szLabel,
+ UsefulBufC *pUUID)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_URI, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInMapSZ(pMe, szLabel, TagSpec, pUUID);
+}
+
+
+
+static inline void QCBORDecode_GetB64(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ UsefulBufC *pB64Text)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_BASE64, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInternal(pMe, TagSpec, pB64Text);
+}
+
+
+inline static void QCBORDecode_GetB64InMapN(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pB64Text)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_BASE64, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInMapN(pMe, nLabel, TagSpec, pB64Text);
+}
+
+inline static void QCBORDecode_GetB64InMapSZ(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ const char *szLabel,
+ UsefulBufC *pB64Text)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_BASE64, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInMapSZ(pMe, szLabel, TagSpec, pB64Text);
+}
+
+
+
+static inline void QCBORDecode_GetRegex(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ UsefulBufC *pRegex)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_REGEX, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInternal(pMe, TagSpec, pRegex);
+}
+
+static inline void QCBORDecode_GetRegexInMapN(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pRegex)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_REGEX, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInMapN(pMe, nLabel, TagSpec, pRegex);
+}
+
+static inline void QCBORDecode_GetRegexInMapSZ(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ const char * szLabel,
+ UsefulBufC *pRegex)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_REGEX, {QCBOR_TYPE_TEXT_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInMapSZ(pMe, szLabel, TagSpec, pRegex);
+}
+
+
+
+
+static inline void QCBORDecode_GetBinaryUUID(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ UsefulBufC *pUUID)
{
const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_UUID, {QCBOR_TYPE_BYTE_STRING, 0,0,0,0,0}};
@@ -1985,23 +2190,40 @@
}
-inline static void QCBORDecode_GetBinaryUUIDInMapN(QCBORDecodeContext *pMe, uint8_t uTagRequirement, int64_t nLabel, UsefulBufC *pUUID)
+inline static void QCBORDecode_GetBinaryUUIDInMapN(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ UsefulBufC *pUUID)
{
const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_UUID, {QCBOR_TYPE_BYTE_STRING, 0,0,0,0,0}};
- QCBORItem Item;
+ QCBORDecode_GetTaggedStringInMapN(pMe, nLabel, TagSpec, pUUID);
+}
+
+inline static void QCBORDecode_GetBinaryUUIDInMapSZ(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ const char *szLabel,
+ UsefulBufC *pUUID)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_UUID, {QCBOR_TYPE_BYTE_STRING, 0,0,0,0,0}};
+
+ QCBORDecode_GetTaggedStringInMapSZ(pMe, szLabel, TagSpec, pUUID);
+}
+
+
+inline static void QCBORDecode_GetEpochDateInMapN(QCBORDecodeContext *pMe,
+ uint8_t uTagRequirement,
+ int64_t nLabel,
+ int64_t *puTime)
+{
+ const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_DATE_EPOCH, {QCBOR_TYPE_INT64, QCBOR_TYPE_DOUBLE,0,0,0,0}};
+
+ QCBORItem Item;
QCBORDecode_GetTaggedItemInMapN(pMe, nLabel, TagSpec, &Item);
- *pUUID = Item.val.string;
+ *puTime = Item.val.int64; // TODO: lots of work to do here to handle the variety of date types
+ // This can't stay as an inline function. May have to rewrite date handling
}
-inline static void QCBORDecode_GetBinaryUUIDInMapSZ(QCBORDecodeContext *pMe, uint8_t uTagRequirement, const char *szLabel, UsefulBufC *pUUID)
-{
- const TagSpecification TagSpec = {uTagRequirement, QCBOR_TYPE_UUID, {QCBOR_TYPE_BYTE_STRING, 0,0,0,0,0}};
- QCBORItem Item;
-
- QCBORDecode_GetTaggedItemInMapSZ(pMe, szLabel, TagSpec, &Item);
- *pUUID = Item.val.string;
-}
#ifdef __cplusplus
diff --git a/src/qcbor_decode.c b/src/qcbor_decode.c
index bc5842a..d5c4634 100644
--- a/src/qcbor_decode.c
+++ b/src/qcbor_decode.c
@@ -2307,6 +2307,9 @@
}
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_GetItemInMapN(QCBORDecodeContext *pMe,
int64_t nLabel,
uint8_t uQcborType,
@@ -2335,6 +2338,9 @@
}
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_GetItemInMapSZ(QCBORDecodeContext *pMe,
const char *szLabel,
uint8_t uQcborType,
@@ -2344,9 +2350,7 @@
return;
}
-
QCBORItem OneItemSeach[2];
-
OneItemSeach[0].uLabelType = QCBOR_TYPE_TEXT_STRING;
OneItemSeach[0].label.string = UsefulBuf_FromSZ(szLabel);
OneItemSeach[0].uDataType = uQcborType;
@@ -2357,7 +2361,6 @@
pMe->uLastError = (uint8_t)nReturn;
}
-
if(OneItemSeach[0].uDataType == QCBOR_TYPE_NONE) {
pMe->uLastError = QCBOR_ERR_NOT_FOUND;
}
@@ -2366,6 +2369,15 @@
}
+/**
+ @param[in] TagSpec Specification for matching tags.
+ @param[in] uDataType A QCBOR data type
+
+ @retval QCBOR_SUCCESS \c uDataType is allowed by @c TagSpec
+ @retval QCBOR_ERR_UNEXPECTED_TYPE \c uDataType is not allowed by @c TagSpec
+
+ The data type must be one of the QCBOR_TYPEs, not the IETF CBOR Registered tag value.
+ */
static QCBORError CheckTagRequirement(const TagSpecification TagSpec, uint8_t uDataType)
{
if(TagSpec.uTagRequirement == QCBOR_TAGSPEC_MATCH_TAG) {
@@ -2394,6 +2406,8 @@
}
+// Semi-private
+// TODO: inline or collapse with QCBORDecode_GetTaggedStringInMapN?
void QCBORDecode_GetTaggedItemInMapN(QCBORDecodeContext *pMe,
int64_t nLabel,
TagSpecification TagSpec,
@@ -2407,6 +2421,7 @@
pMe->uLastError = (uint8_t)CheckTagRequirement(TagSpec, pItem->uDataType);
}
+// Semi-private
void QCBORDecode_GetTaggedItemInMapSZ(QCBORDecodeContext *pMe,
const char *szLabel,
TagSpecification TagSpec,
@@ -2420,6 +2435,7 @@
pMe->uLastError = (uint8_t)CheckTagRequirement(TagSpec, pItem->uDataType);
}
+// Semi-private
void QCBORDecode_GetTaggedStringInMapN(QCBORDecodeContext *pMe,
int64_t nLabel,
TagSpecification TagSpec,
@@ -2432,6 +2448,7 @@
}
}
+// Semi-private
void QCBORDecode_GetTaggedStringInMapSZ(QCBORDecodeContext *pMe,
const char * szLabel,
TagSpecification TagSpec,
@@ -2444,14 +2461,21 @@
}
}
-
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
QCBORError QCBORDecode_GetItemsInMap(QCBORDecodeContext *pCtx, QCBORItem *pItemList)
{
return MapSearch(pCtx, pItemList, NULL, NULL, NULL, NULL);
}
-
-QCBORError QCBORDecode_GetItemsInMapWithCallback(QCBORDecodeContext *pCtx, QCBORItem *pItemList, void *pCallbackCtx, QCBORItemCallback pfCB)
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
+QCBORError QCBORDecode_GetItemsInMapWithCallback(QCBORDecodeContext *pCtx,
+ QCBORItem *pItemList,
+ void *pCallbackCtx,
+ QCBORItemCallback pfCB)
{
return MapSearch(pCtx, pItemList, NULL, NULL, pCallbackCtx, pfCB);
}
@@ -2495,6 +2519,9 @@
}
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_EnterMapInMapN(QCBORDecodeContext *pMe, int64_t nLabel)
{
QCBORItem OneItemSeach[2];
@@ -2508,6 +2535,9 @@
}
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_EnterMapFromMapSZ(QCBORDecodeContext *pMe, const char *szLabel)
{
QCBORItem OneItemSeach[2];
@@ -2519,7 +2549,9 @@
SearchAndEnter(pMe, OneItemSeach);
}
-
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_EnterArrayFromMapN(QCBORDecodeContext *pMe, int64_t nLabel)
{
QCBORItem OneItemSeach[2];
@@ -2531,7 +2563,9 @@
SearchAndEnter(pMe, OneItemSeach);
}
-
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_EnterArrayFromMapSZ(QCBORDecodeContext *pMe, const char *szLabel)
{
QCBORItem OneItemSeach[2];
@@ -2572,7 +2606,7 @@
void QCBORDecode_ExitBoundedMode(QCBORDecodeContext *pMe, uint8_t uType)
{
QCBORError uErr;
- size_t uEndOffset;
+ size_t uEndOffset;
(void)uType; // TODO: error check
@@ -2716,6 +2750,9 @@
}
}
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_GetBool(QCBORDecodeContext *pMe, bool *pValue)
{
if(pMe->uLastError != QCBOR_SUCCESS) {
@@ -2734,6 +2771,9 @@
pMe->uLastError = (uint8_t)InterpretBool(&Item, pValue);
}
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_GetBoolInMapN(QCBORDecodeContext *pMe, int64_t nLabel, bool *pValue)
{
QCBORItem Item;
@@ -2742,7 +2782,9 @@
pMe->uLastError = (uint8_t)InterpretBool(&Item, pValue);
}
-
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_GetBoolInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, bool *pValue)
{
QCBORItem Item;
@@ -2843,6 +2885,9 @@
pMe->uLastError = (uint8_t)ConvertBigNum(&Item, pValue, pbIsNegative);
}
+/*
+Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_GetBignumInMapN(QCBORDecodeContext *pMe, int64_t nLabel, bool bMustBeTagged, UsefulBufC *pValue, bool *pbIsNegative)
{
QCBORItem Item;
@@ -3564,7 +3609,9 @@
}
}
-
+/*
+ Public function, see header qcbor/qcbor_decode.h file
+*/
void QCBORDecode_GetUInt64ConvertAll(QCBORDecodeContext *pMe, uint32_t uOptions, uint64_t *puValue)
{
QCBORItem Item;
@@ -3586,7 +3633,7 @@
/*
-Public function, see header qcbor/qcbor_decode.h file
+ Public function, see header qcbor/qcbor_decode.h file
*/
void QCBORDecode_GetUint64ConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uOptions, uint64_t *puValue)
{
@@ -3609,7 +3656,7 @@
/*
-Public function, see header qcbor/qcbor_decode.h file
+ Public function, see header qcbor/qcbor_decode.h file
*/
void QCBORDecode_GetUint64ConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uOptions, uint64_t *puValue)
{
@@ -3831,7 +3878,7 @@
/*
- Public function, see header qcbor/qcbor_decode.h file
+ Public function, see header qcbor/qcbor_decode.h file
*/
void QCBORDecode_GetDoubleConvertAll(QCBORDecodeContext *pMe, uint32_t uOptions, double *pdValue)
{
@@ -3855,7 +3902,7 @@
/*
-Public function, see header qcbor/qcbor_decode.h file
+ Public function, see header qcbor/qcbor_decode.h file
*/
void QCBORDecode_GetDoubleConvertAllInMapN(QCBORDecodeContext *pMe, int64_t nLabel, uint32_t uOptions, double *pdValue)
{
@@ -3878,7 +3925,7 @@
/*
-Public function, see header qcbor/qcbor_decode.h file
+ Public function, see header qcbor/qcbor_decode.h file
*/
void QCBORDecode_GetDoubleConvertAllInMapSZ(QCBORDecodeContext *pMe, const char *szLabel, uint32_t uOptions, double *pdValue)
{