Merge latest stuff from master (what is to be v 1.5)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5003b91..f3bedd2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,7 +86,9 @@
)
set_target_properties(
qcbor PROPERTIES
- PUBLIC_HEADER "${HEADERS}"
+ VERSION ${PROJECT_VERSION}
+ SOVERSION ${PROJECT_VERSION_MAJOR}
+ PUBLIC_HEADER "${HEADERS}"
)
include(GNUInstallDirs)
install(
diff --git a/README.md b/README.md
index fa511d2..805279d 100644
--- a/README.md
+++ b/README.md
@@ -103,9 +103,9 @@
/* Encode */
QCBOREncode_Init(&EncodeCtx, Buffer);
QCBOREncode_OpenMap(&EncodeCtx);
- QCBOREncode_AddTextToMap(&EncodeCtx, "Manufacturer", pE->Manufacturer);
- QCBOREncode_AddInt64ToMap(&EncodeCtx, "Displacement", pE->uDisplacement);
- QCBOREncode_AddInt64ToMap(&EncodeCtx, "Horsepower", pE->uHorsePower);
+ QCBOREncode_AddTextToMapSZ(&EncodeCtx, "Manufacturer", pE->Manufacturer);
+ QCBOREncode_AddInt64ToMapSZ(&EncodeCtx, "Displacement", pE->uDisplacement);
+ QCBOREncode_AddInt64ToMapSZ(&EncodeCtx, "Horsepower", pE->uHorsePower);
QCBOREncode_CloseMap(&EncodeCtx);
uErr = QCBOREncode_Finish(&EncodeCtx, &EncodedEngine);
diff --git a/example.c b/example.c
index ed5d597..c489ad6 100644
--- a/example.c
+++ b/example.c
@@ -130,7 +130,7 @@
* @return The pointer and length of the encoded CBOR or
* @ref NULLUsefulBufC on error.
*
- * This encodes the input structure \c pEngine as a CBOR map of
+ * This encodes the input structure @c pEngine as a CBOR map of
* label-value pairs. An array of float is one of the items in the
* map.
*
@@ -162,14 +162,14 @@
/* Proceed to output all the items, letting the internal error
* tracking do its work */
QCBOREncode_OpenMap(&EncodeCtx);
- QCBOREncode_AddTextToMap(&EncodeCtx, "Manufacturer", pEngine->Manufacturer);
- QCBOREncode_AddInt64ToMap(&EncodeCtx, "NumCylinders", pEngine->uNumCylinders);
- QCBOREncode_AddInt64ToMap(&EncodeCtx, "Displacement", pEngine->uDisplacement);
- QCBOREncode_AddInt64ToMap(&EncodeCtx, "Horsepower", pEngine->uHorsePower);
+ QCBOREncode_AddTextToMapSZ(&EncodeCtx, "Manufacturer", pEngine->Manufacturer);
+ QCBOREncode_AddInt64ToMapSZ(&EncodeCtx, "NumCylinders", pEngine->uNumCylinders);
+ QCBOREncode_AddInt64ToMapSZ(&EncodeCtx, "Displacement", pEngine->uDisplacement);
+ QCBOREncode_AddInt64ToMapSZ(&EncodeCtx, "Horsepower", pEngine->uHorsePower);
#ifndef USEFULBUF_DISABLE_ALL_FLOAT
- QCBOREncode_AddDoubleToMap(&EncodeCtx, "DesignedCompression", pEngine->dDesignedCompresion);
+ QCBOREncode_AddDoubleToMapSZ(&EncodeCtx, "DesignedCompression", pEngine->dDesignedCompresion);
#endif /* USEFULBUF_DISABLE_ALL_FLOAT */
- QCBOREncode_OpenArrayInMap(&EncodeCtx, "Cylinders");
+ QCBOREncode_OpenArrayInMapSZ(&EncodeCtx, "Cylinders");
#ifndef USEFULBUF_DISABLE_ALL_FLOAT
for(int64_t i = 0 ; i < pEngine->uNumCylinders; i++) {
QCBOREncode_AddDouble(&EncodeCtx,
@@ -177,7 +177,7 @@
}
#endif /* USEFULBUF_DISABLE_ALL_FLOAT */
QCBOREncode_CloseArray(&EncodeCtx);
- QCBOREncode_AddBoolToMap(&EncodeCtx, "Turbo", pEngine->bTurboCharged);
+ QCBOREncode_AddBoolToMapSZ(&EncodeCtx, "Turbo", pEngine->bTurboCharged);
QCBOREncode_CloseMap(&EncodeCtx);
/* Get the pointer and length of the encoded output. If there was
diff --git a/inc/qcbor/UsefulBuf.h b/inc/qcbor/UsefulBuf.h
index 24b087b..1ed558b 100644
--- a/inc/qcbor/UsefulBuf.h
+++ b/inc/qcbor/UsefulBuf.h
@@ -1361,8 +1361,8 @@
* @param[in] uAmount The amount to advance.
*
* This advances the position in the output buffer
- * by \c uAmount. This assumes that the
- * caller has written \c uAmount to the pointer obtained
+ * by @c uAmount. This assumes that the
+ * caller has written @c uAmount to the pointer obtained
* with UsefulOutBuf_GetOutPlace().
*
* Warning: this bypasses the buffer safety provided by
diff --git a/inc/qcbor/qcbor_common.h b/inc/qcbor/qcbor_common.h
index b4ac5d5..89bfd00 100644
--- a/inc/qcbor/qcbor_common.h
+++ b/inc/qcbor/qcbor_common.h
@@ -172,17 +172,17 @@
#define CBOR_TAG_ENC_AS_B16 23
/** See QCBORDecode_EnterBstrWrapped()). */
#define CBOR_TAG_CBOR 24
-/** See QCBOREncode_AddURI(). */
+/** See QCBOREncode_AddTURI(). */
#define CBOR_TAG_URI 32
-/** See QCBOREncode_AddB64URLText(). */
+/** See QCBOREncode_AddTB64URLText(). */
#define CBOR_TAG_B64URL 33
/** See QCBOREncode_AddB64Text(). */
#define CBOR_TAG_B64 34
-/** See QCBOREncode_AddRegex(). */
+/** See QCBOREncode_AddTRegex(). */
#define CBOR_TAG_REGEX 35
/** See QCBOREncode_AddMIMEData(). */
#define CBOR_TAG_MIME 36
-/** See QCBOREncode_AddBinaryUUID(). */
+/** See QCBOREncode_AddTBinaryUUID(). */
#define CBOR_TAG_BIN_UUID 37
/** The data is a CBOR Web Token per [RFC 8392]
* (https://www.rfc-editor.org/rfc/rfc8392.html). No API is provided for this
diff --git a/inc/qcbor/qcbor_decode.h b/inc/qcbor/qcbor_decode.h
index 6ae57c4..e120bd2 100644
--- a/inc/qcbor/qcbor_decode.h
+++ b/inc/qcbor/qcbor_decode.h
@@ -596,7 +596,7 @@
#ifndef QCBOR_DISABLE_EXP_AND_MANTISSA
QCBORExpAndMantissa expAndMantissa;
#endif /* ! QCBOR_DISABLE_EXP_AND_MANTISSA */
- uint64_t uTagNumber;
+ uint64_t uTagNumber; /* Used internally during decoding */
/* For use by user-defined tag content handlers */
uint8_t userDefined[24];
@@ -951,8 +951,8 @@
*
* See [Decode Error Overview](#Decode-Errors-Overview).
*
- * If a decoding error occurs or previously occured, \c uDataType and
- * \c uLabelType will be set to @ref QCBOR_TYPE_NONE. If there is no
+ * If a decoding error occurs or previously occured, @c uDataType and
+ * @c uLabelType will be set to @ref QCBOR_TYPE_NONE. If there is no
* need to know the specific error, it is sufficient to check for @ref
* QCBOR_TYPE_NONE.
*
@@ -1468,11 +1468,11 @@
* and propagate up.
*
* When the error condition is set, QCBORDecode_VGetNext() will always
- * return an item with data and label type as \ref QCBOR_TYPE_NONE.
+ * return an item with data and label type as @ref QCBOR_TYPE_NONE.
*
* The main intent of this is to set a user-defined error code in the
- * range of \ref QCBOR_ERR_FIRST_USER_DEFINED to
- * \ref QCBOR_ERR_LAST_USER_DEFINED, but it is OK to set QCBOR-defined
+ * range of @ref QCBOR_ERR_FIRST_USER_DEFINED to
+ * @ref QCBOR_ERR_LAST_USER_DEFINED, but it is OK to set QCBOR-defined
* error codes too.
*/
static void
@@ -1697,10 +1697,13 @@
-/* ------------------------------------------------------------------------
- * Deprecated functions retained for backwards compatibility. Their use is
- * not recommended.
- * ---- */
+
+/* ========================================================================= *
+ * BEGINNING OF DEPRECATED FUNCTIONS *
+ * *
+ * There is no plan to remove these in future versions. *
+ * They just have been replaced by something better. *
+ * ========================================================================= */
/**
* TODO: Initialize the CBOR decoder context with QCBOR v1 compatibility (deprecated).
@@ -1764,11 +1767,16 @@
QCBORDecode_GetNthTagOfLast(const QCBORDecodeContext *pCtx, uint32_t uIndex);
#endif /* ! QCBOR_DISABLE_TAGS */
+/* ========================================================================= *
+ * END OF DEPRECATED FUNCTIONS *
+ * ========================================================================= */
-/* ------------------------------------------------------------------------
- * Inline implementations of public functions defined above.
- * ---- */
+
+
+/* ========================================================================= *
+ * BEGINNING OF PRIVATE INLINE IMPLEMENTATION *
+ * ========================================================================= */
static inline uint32_t
QCBORDecode_Tell(QCBORDecodeContext *pMe)
@@ -1830,6 +1838,10 @@
pMe->uLastError = (uint8_t)uError;
}
+/* ======================================================================== *
+ * END OF PRIVATE INLINE IMPLEMENTATION *
+ * ======================================================================== */
+
/* A few cross checks on size constants and special value lengths */
#if QCBOR_MAP_OFFSET_CACHE_INVALID < QCBOR_MAX_DECODE_INPUT_SIZE
diff --git a/inc/qcbor/qcbor_encode.h b/inc/qcbor/qcbor_encode.h
index 10f3a95..79b92ac 100644
--- a/inc/qcbor/qcbor_encode.h
+++ b/inc/qcbor/qcbor_encode.h
@@ -259,7 +259,7 @@
* support should be adequate.
*
* For example, the registered epoch date tag is supported in encoding
- * by QCBOREncode_AddDateEpoch() and in decoding by @ref
+ * by QCBOREncode_AddTDateEpoch() and in decoding by @ref
* QCBOR_TYPE_DATE_EPOCH and the @c epochDate member of @ref
* QCBORItem. This is typical of the built-in tag support. There is an
* API to encode data for it and a @c QCBOR_TYPE_XXX when it is decoded.
@@ -684,7 +684,7 @@
QCBOREncode_AddInt64(QCBOREncodeContext *pCtx, int64_t nNum);
static void
-QCBOREncode_AddInt64ToMap(QCBOREncodeContext *pCtx, const char *szLabel, int64_t nNum);
+QCBOREncode_AddInt64ToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, int64_t nNum);
static void
QCBOREncode_AddInt64ToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, int64_t nNum);
@@ -708,7 +708,7 @@
QCBOREncode_AddUInt64(QCBOREncodeContext *pCtx, uint64_t uNum);
static void
-QCBOREncode_AddUInt64ToMap(QCBOREncodeContext *pCtx, const char *szLabel, uint64_t uNum);
+QCBOREncode_AddUInt64ToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, uint64_t uNum);
static void
QCBOREncode_AddUInt64ToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, uint64_t uNum);
@@ -802,7 +802,7 @@
QCBOREncode_AddText(QCBOREncodeContext *pCtx, UsefulBufC Text);
static void
-QCBOREncode_AddTextToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Text);
+QCBOREncode_AddTextToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Text);
static void
QCBOREncode_AddTextToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC Text);
@@ -820,7 +820,7 @@
QCBOREncode_AddSZString(QCBOREncodeContext *pCtx, const char *szString);
static void
-QCBOREncode_AddSZStringToMap(QCBOREncodeContext *pCtx, const char *szLabel, const char *szString);
+QCBOREncode_AddSZStringToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, const char *szString);
static void
QCBOREncode_AddSZStringToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, const char *szString);
@@ -876,7 +876,7 @@
QCBOREncode_AddDouble(QCBOREncodeContext *pCtx, double dNum);
static void
-QCBOREncode_AddDoubleToMap(QCBOREncodeContext *pCtx, const char *szLabel, double dNum);
+QCBOREncode_AddDoubleToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, double dNum);
static void
QCBOREncode_AddDoubleToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, double dNum);
@@ -898,7 +898,7 @@
QCBOREncode_AddFloat(QCBOREncodeContext *pCtx, float fNum);
static void
-QCBOREncode_AddFloatToMap(QCBOREncodeContext *pCtx, const char *szLabel, float fNum);
+QCBOREncode_AddFloatToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, float fNum);
static void
QCBOREncode_AddFloatToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, float dNum);
@@ -922,7 +922,7 @@
QCBOREncode_AddDoubleNoPreferred(QCBOREncodeContext *pCtx, double dNum);
static void
-QCBOREncode_AddDoubleNoPreferredToMap(QCBOREncodeContext *pCtx, const char *szLabel, double dNum);
+QCBOREncode_AddDoubleNoPreferredToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, double dNum);
static void
QCBOREncode_AddDoubleNoPreferredToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, double dNum);
@@ -946,7 +946,7 @@
QCBOREncode_AddFloatNoPreferred(QCBOREncodeContext *pCtx, float fNum);
static void
-QCBOREncode_AddFloatNoPreferredToMap(QCBOREncodeContext *pCtx, const char *szLabel, float fNum);
+QCBOREncode_AddFloatNoPreferredToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, float fNum);
static void
QCBOREncode_AddFloatNoPreferredToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, float fNum);
@@ -964,7 +964,7 @@
*
* For many of the common standard tags, a function to encode data
* using it is provided and this is not needed. For example,
- * QCBOREncode_AddDateEpoch() already exists to output integers
+ * QCBOREncode_AddTDateEpoch() already exists to output integers
* representing dates with the right tag.
*
* The tag is applied to the next data item added to the encoded
@@ -1032,19 +1032,6 @@
int64_t nDate);
-static void
-QCBOREncode_AddDateEpoch(QCBOREncodeContext *pCtx,
- int64_t nDate);
-
-static void
-QCBOREncode_AddDateEpochToMap(QCBOREncodeContext *pCtx,
- const char *szLabel,
- int64_t nDate);
-
-static void
-QCBOREncode_AddDateEpochToMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel,
- int64_t nDate);
@@ -1103,7 +1090,7 @@
QCBOREncode_AddBytes(QCBOREncodeContext *pCtx, UsefulBufC Bytes);
static void
-QCBOREncode_AddBytesToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Bytes);
+QCBOREncode_AddBytesToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Bytes);
static void
QCBOREncode_AddBytesToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC Bytes);
@@ -1128,7 +1115,7 @@
* multiple writes.
*
* The pointer in @c pPlace is where to start writing. Writing is just
- * copying bytes to the location by the pointer in \c pPlace. Writing
+ * copying bytes to the location by the pointer in @c pPlace. Writing
* past the length in @c pPlace will be writing off the end of the
* output buffer.
*
@@ -1205,16 +1192,6 @@
UsefulBufC Bytes);
-static void
-QCBOREncode_AddBinaryUUID(QCBOREncodeContext *pCtx, UsefulBufC Bytes);
-
-static void
-QCBOREncode_AddBinaryUUIDToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Bytes);
-
-static void
-QCBOREncode_AddBinaryUUIDToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC Bytes);
-
-
/**
* @brief Add a big number to encoded output using preferred serialization.
*
@@ -1364,6 +1341,7 @@
UsefulBufC BigNumber);
+
#ifndef QCBOR_DISABLE_EXP_AND_MANTISSA
/**
* @brief Add a decimal fraction.
@@ -1508,6 +1486,7 @@
int64_t nBase10Exponent);
+
/**
* @brief Add a big floating-point number to the encoded output.
*
@@ -1648,6 +1627,7 @@
bool bIsNegative,
int64_t nBase2Exponent);
+
#endif /* ! QCBOR_DISABLE_EXP_AND_MANTISSA */
@@ -1668,7 +1648,7 @@
* A URI in a NULL-terminated string, @c szURI, can be easily added with
* this code:
*
- * QCBOREncode_AddURI(pCtx, UsefulBuf_FromSZ(szURI));
+ * QCBOREncode_AddTURI(pCtx, QCBOR_ENCODE_AS_TAG, UsefulBuf_FromSZ(szURI));
*/
static void
QCBOREncode_AddTURI(QCBOREncodeContext *pCtx,
@@ -1688,21 +1668,6 @@
UsefulBufC URI);
-static void
-QCBOREncode_AddURI(QCBOREncodeContext *pCtx,
- UsefulBufC URI);
-
-static void
-QCBOREncode_AddURIToMap(QCBOREncodeContext *pCtx,
- const char *szLabel,
- UsefulBufC URI);
-
-static void
-QCBOREncode_AddURIToMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel,
- UsefulBufC URI);
-
-
/**
* @brief Add Base64-encoded text to encoded output.
*
@@ -1735,22 +1700,6 @@
UsefulBufC B64Text);
-static void
-QCBOREncode_AddB64Text(QCBOREncodeContext *pCtx,
- UsefulBufC B64Text);
-
-static void
-QCBOREncode_AddB64TextToMap(QCBOREncodeContext *pCtx,
- const char *szLabel,
- UsefulBufC B64Text);
-
-static void
-QCBOREncode_AddB64TextToMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel,
- UsefulBufC B64Text);
-
-
-
/**
* @brief Add base64url encoded data to encoded output.
*
@@ -1784,21 +1733,6 @@
UsefulBufC B64Text);
-static void
-QCBOREncode_AddB64URLText(QCBOREncodeContext *pCtx,
- UsefulBufC B64Text);
-
-static void
-QCBOREncode_AddB64URLTextToMap(QCBOREncodeContext *pCtx,
- const char *szLabel,
- UsefulBufC B64Text);
-
-static void
-QCBOREncode_AddB64URLTextToMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel,
- UsefulBufC B64Text);
-
-
/**
* @brief Add Perl Compatible Regular Expression.
*
@@ -1831,21 +1765,6 @@
UsefulBufC Regex);
-static void
-QCBOREncode_AddRegex(QCBOREncodeContext *pCtx,
- UsefulBufC Regex);
-
-static void
-QCBOREncode_AddRegexToMap(QCBOREncodeContext *pCtx,
- const char *szLabel,
- UsefulBufC Regex);
-
-static void
-QCBOREncode_AddRegexToMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel,
- UsefulBufC Regex);
-
-
/**
* @brief MIME encoded data to the encoded output.
*
@@ -1892,21 +1811,6 @@
UsefulBufC MIMEData);
-static void
-QCBOREncode_AddMIMEData(QCBOREncodeContext *pCtx,
- UsefulBufC MIMEData);
-
-static void
-QCBOREncode_AddMIMEDataToMap(QCBOREncodeContext *pCtx,
- const char *szLabel,
- UsefulBufC MIMEData);
-
-static void
-QCBOREncode_AddMIMEDataToMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel,
- UsefulBufC MIMEData);
-
-
/**
* @brief Add an RFC 3339 date string
*
@@ -1948,21 +1852,6 @@
const char *szDate);
-static void
-QCBOREncode_AddDateString(QCBOREncodeContext *pCtx,
- const char *szDate);
-
-static void
-QCBOREncode_AddDateStringToMap(QCBOREncodeContext *pCtx,
- const char *szLabel,
- const char *szDate);
-
-static void
-QCBOREncode_AddDateStringToMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel,
- const char *szDate);
-
-
/**
* @brief Add a date-only string.
*
@@ -2020,7 +1909,7 @@
QCBOREncode_AddBool(QCBOREncodeContext *pCtx, bool b);
static void
-QCBOREncode_AddBoolToMap(QCBOREncodeContext *pCtx, const char *szLabel, bool b);
+QCBOREncode_AddBoolToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, bool b);
static void
QCBOREncode_AddBoolToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, bool b);
@@ -2042,7 +1931,7 @@
QCBOREncode_AddNULL(QCBOREncodeContext *pCtx);
static void
-QCBOREncode_AddNULLToMap(QCBOREncodeContext *pCtx, const char *szLabel);
+QCBOREncode_AddNULLToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel);
static void
QCBOREncode_AddNULLToMapN(QCBOREncodeContext *pCtx, int64_t nLabel);
@@ -2066,7 +1955,7 @@
QCBOREncode_AddUndef(QCBOREncodeContext *pCtx);
static void
-QCBOREncode_AddUndefToMap(QCBOREncodeContext *pCtx, const char *szLabel);
+QCBOREncode_AddUndefToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel);
static void
QCBOREncode_AddUndefToMapN(QCBOREncodeContext *pCtx, int64_t nLabel);
@@ -2075,7 +1964,7 @@
/**
* @brief Add a simple value.
*
- * @param[in] pMe The encode context.
+ * @param[in] pCtx The encode context.
* @param[in] uNum The simple value.
*
* QCBOREncode_AddBool(), QCBOREncode_AddUndef() and
@@ -2091,15 +1980,15 @@
* https://www.iana.org/assignments/cbor-simple-values/cbor-simple-values.xhtml
*/
static void
-QCBOREncode_AddSimple(QCBOREncodeContext *pMe, const uint8_t uNum);
+QCBOREncode_AddSimple(QCBOREncodeContext *pCtx, const uint8_t uNum);
static void
-QCBOREncode_AddSimpleToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const uint8_t uSimple);
+QCBOREncode_AddSimpleToMapSZ(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ const uint8_t uSimple);
static void
-QCBOREncode_AddSimpleToMapN(QCBOREncodeContext *pMe,
+QCBOREncode_AddSimpleToMapN(QCBOREncodeContext *pCtx,
const int64_t nLabel,
const uint8_t uSimple);
@@ -2141,7 +2030,7 @@
QCBOREncode_OpenArray(QCBOREncodeContext *pCtx);
static void
-QCBOREncode_OpenArrayInMap(QCBOREncodeContext *pCtx, const char *szLabel);
+QCBOREncode_OpenArrayInMapSZ(QCBOREncodeContext *pCtx, const char *szLabel);
static void
QCBOREncode_OpenArrayInMapN(QCBOREncodeContext *pCtx, int64_t nLabel);
@@ -2209,7 +2098,7 @@
QCBOREncode_OpenMap(QCBOREncodeContext *pCtx);
static void
-QCBOREncode_OpenMapInMap(QCBOREncodeContext *pCtx, const char *szLabel);
+QCBOREncode_OpenMapInMapSZ(QCBOREncodeContext *pCtx, const char *szLabel);
static void
QCBOREncode_OpenMapInMapN(QCBOREncodeContext *pCtx, int64_t nLabel);
@@ -2253,8 +2142,8 @@
QCBOREncode_OpenArrayIndefiniteLength(QCBOREncodeContext *pCtx);
static void
-QCBOREncode_OpenArrayIndefiniteLengthInMap(QCBOREncodeContext *pCtx,
- const char *szLabel);
+QCBOREncode_OpenArrayIndefiniteLengthInMapSZ(QCBOREncodeContext *pCtx,
+ const char *szLabel);
static void
QCBOREncode_OpenArrayIndefiniteLengthInMapN(QCBOREncodeContext *pCtx,
@@ -2287,12 +2176,14 @@
QCBOREncode_OpenMapIndefiniteLength(QCBOREncodeContext *pCtx);
static void
-QCBOREncode_OpenMapIndefiniteLengthInMap(QCBOREncodeContext *pCtx,
- const char *szLabel);
+QCBOREncode_OpenMapIndefiniteLengthInMapSZ(QCBOREncodeContext *pCtx,
+ const char *szLabel);
static void
QCBOREncode_OpenMapIndefiniteLengthInMapN(QCBOREncodeContext *pCtx,
- int64_t nLabel);
+ int64_t nLabel);
+
+
/**
@@ -2369,7 +2260,7 @@
QCBOREncode_BstrWrap(QCBOREncodeContext *pCtx);
static void
-QCBOREncode_BstrWrapInMap(QCBOREncodeContext *pCtx, const char *szLabel);
+QCBOREncode_BstrWrapInMapSZ(QCBOREncodeContext *pCtx, const char *szLabel);
static void
QCBOREncode_BstrWrapInMapN(QCBOREncodeContext *pCtx, int64_t nLabel);
@@ -2425,7 +2316,7 @@
* This cancels QCBOREncode_BstrWrap() making the encoding as if it
* were never called.
*
- * WARNING: This does not work on QCBOREncode_BstrWrapInMap()
+ * WARNING: This does not work on QCBOREncode_BstrWrapInMapSZ()
* or QCBOREncode_BstrWrapInMapN() and there is no error detection
* of an attempt at their use.
*
@@ -2459,7 +2350,7 @@
QCBOREncode_AddEncoded(QCBOREncodeContext *pCtx, UsefulBufC Encoded);
static void
-QCBOREncode_AddEncodedToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Encoded);
+QCBOREncode_AddEncodedToMapSZ(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Encoded);
static void
QCBOREncode_AddEncodedToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC Encoded);
@@ -2917,9 +2808,337 @@
#endif /* ! QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA */
-/* =========================================================================
- BEGINNING OF PRIVATE IMPLEMENTATION
- ========================================================================= */
+/* ========================================================================= *
+ * BEGINNING OF DEPRECATED FUNCTIONS *
+ * *
+ * There is no plan to remove these in future versions. *
+ * They just have been replaced by something better. *
+ * ========================================================================= */
+
+/* Use QCBOREncode_AddInt64ToMapSZ() instead */
+static void
+QCBOREncode_AddInt64ToMap(QCBOREncodeContext *pCtx, const char *szLabel, int64_t nNum);
+
+/* Use QCBOREncode_AddUInt64ToMapSZ() instead */
+static void
+QCBOREncode_AddUInt64ToMap(QCBOREncodeContext *pCtx, const char *szLabel, uint64_t uNum);
+
+/* Use QCBOREncode_AddTextToMapSZ() instead */
+static void
+QCBOREncode_AddTextToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Text);
+
+/* Use QCBOREncode_AddSZStringToMapSZ() instead */
+static void
+QCBOREncode_AddSZStringToMap(QCBOREncodeContext *pCtx, const char *szLabel, const char *szString);
+
+#ifndef USEFULBUF_DISABLE_ALL_FLOAT
+/* Use QCBOREncode_AddDoubleToMapSZ() instead */
+static void
+QCBOREncode_AddDoubleToMap(QCBOREncodeContext *pCtx, const char *szLabel, double dNum);
+
+/* Use QCBOREncode_AddFloatToMapSZ() instead */
+static void
+QCBOREncode_AddFloatToMap(QCBOREncodeContext *pCtx, const char *szLabel, float fNum);
+
+/* Use QCBOREncode_AddDoubleNoPreferredToMapSZ() instead */
+static void
+QCBOREncode_AddDoubleNoPreferredToMap(QCBOREncodeContext *pCtx, const char *szLabel, double dNum);
+
+/* Use QCBOREncode_AddFloatNoPreferredToMapSZ() instead */
+static void
+QCBOREncode_AddFloatNoPreferredToMap(QCBOREncodeContext *pCtx, const char *szLabel, float fNum);
+#endif /* ! USEFULBUF_DISABLE_ALL_FLOAT */
+
+/* Use QCBOREncode_AddTDateEpoch() instead */
+static void
+QCBOREncode_AddDateEpoch(QCBOREncodeContext *pCtx, int64_t nDate);
+
+/* Use QCBOREncode_AddTDateEpochToMapSZ() instead */
+static void
+QCBOREncode_AddDateEpochToMap(QCBOREncodeContext *pCtx, const char *szLabel, int64_t nDate);
+
+/* Use QCBOREncode_AddTDateEpochToMapN() instead */
+static void
+QCBOREncode_AddDateEpochToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, int64_t nDate);
+
+/* Use QCBOREncode_AddBytesToMapSZ() instead */
+static void
+QCBOREncode_AddBytesToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Bytes);
+
+/* Use QCBOREncode_AddTBinaryUUID() instead */
+static void
+QCBOREncode_AddBinaryUUID(QCBOREncodeContext *pCtx, UsefulBufC Bytes);
+
+/* Use QCBOREncode_AddTBinaryUUIDToMapSZ() instead */
+static void
+QCBOREncode_AddBinaryUUIDToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Bytes);
+
+/* Use QCBOREncode_AddTBinaryUUIDToMapN() instead */
+static void
+QCBOREncode_AddBinaryUUIDToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC Bytes);
+
+/* Use QCBOREncode_AddTPositiveBignum() instead */
+static void
+QCBOREncode_AddPositiveBignum(QCBOREncodeContext *pCtx, UsefulBufC BigNumber);
+
+/* QCBOREncode_AddTPositiveBignumToMapSZ() instead */
+static void
+QCBOREncode_AddPositiveBignumToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ UsefulBufC BigNumber);
+
+/* Use QCBOREncode_AddTPositiveBignumToMapN() instead */
+static void
+QCBOREncode_AddPositiveBignumToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ UsefulBufC BigNumber);
+
+/* Use QCBOREncode_AddTNegativeBignum() instead */
+static void
+QCBOREncode_AddNegativeBignum(QCBOREncodeContext *pCtx, UsefulBufC BigNumber);
+
+/* Use QCBOREncode_AddTNegativeBignumToMapSZ() instead */
+static void
+QCBOREncode_AddNegativeBignumToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC BigNumber);
+
+/* Use QCBOREncode_AddTNegativeBignumToMapN() instead */
+static void
+QCBOREncode_AddNegativeBignumToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC BigNumber);
+
+
+#ifndef QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA
+
+/* Use QCBOREncode_AddTDecimalFraction() instead */
+static void
+QCBOREncode_AddDecimalFraction(QCBOREncodeContext *pCtx,
+ int64_t nMantissa,
+ int64_t nBase10Exponent);
+
+/* Use QCBOREncode_AddTDecimalFractionToMapSZ() instead */
+static void
+QCBOREncode_AddDecimalFractionToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ int64_t nMantissa,
+ int64_t nBase10Exponent);
+
+/* Use QCBOREncode_AddTDecimalFractionToMapN() instead */
+static void
+QCBOREncode_AddDecimalFractionToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ int64_t nMantissa,
+ int64_t nBase10Exponent);
+
+/* Use QCBOREncode_AddTDecimalFractionBigNum() instead */
+static void
+QCBOREncode_AddDecimalFractionBigNum(QCBOREncodeContext *pCtx,
+ UsefulBufC Mantissa,
+ bool bIsNegative,
+ int64_t nBase10Exponent);
+
+/* Use QCBOREncode_AddTDecimalFractionBigNumToMapSZ() instead */
+static void
+QCBOREncode_AddDecimalFractionBigNumToMapSZ(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ UsefulBufC Mantissa,
+ bool bIsNegative,
+ int64_t nBase10Exponent);
+
+/* Use QCBOREncode_AddTDecimalFractionBigNumToMapN() instead */
+static void
+QCBOREncode_AddDecimalFractionBigNumToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ UsefulBufC Mantissa,
+ bool bIsNegative,
+ int64_t nBase10Exponent);
+
+/* Use QCBOREncode_AddTBigFloat() instead */
+static void
+QCBOREncode_AddBigFloat(QCBOREncodeContext *pCtx,
+ int64_t nMantissa,
+ int64_t nBase2Exponent);
+
+/* Use QCBOREncode_AddTBigFloatToMapSZ() instead */
+static void
+QCBOREncode_AddBigFloatToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ int64_t nMantissa,
+ int64_t nBase2Exponent);
+
+/* Use QCBOREncode_AddTBigFloatToMapN() instead */
+static void
+QCBOREncode_AddBigFloatToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ int64_t nMantissa,
+ int64_t nBase2Exponent);
+
+/* Use QCBOREncode_AddTBigFloatBigNum() instead */
+static void
+QCBOREncode_AddBigFloatBigNum(QCBOREncodeContext *pCtx,
+ UsefulBufC Mantissa,
+ bool bIsNegative,
+ int64_t nBase2Exponent);
+
+/* Use QCBOREncode_AddTBigFloatBigNumToMapSZ() instead */
+static void
+QCBOREncode_AddBigFloatBigNumToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ UsefulBufC Mantissa,
+ bool bIsNegative,
+ int64_t nBase2Exponent);
+
+/* Use QCBOREncode_AddTBigFloatBigNumToMapN() instead */
+static void
+QCBOREncode_AddBigFloatBigNumToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ UsefulBufC Mantissa,
+ bool bIsNegative,
+ int64_t nBase2Exponent);
+#endif /* ! QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA */
+
+/* Use QCBOREncode_AddTURI() instead */
+static void
+QCBOREncode_AddURI(QCBOREncodeContext *pCtx, UsefulBufC URI);
+
+/* Use QCBOREncode_AddTURIToMapSZ() instead */
+static void
+QCBOREncode_AddURIToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC URI);
+
+/* Use QCBOREncode_AddTURIToMapN() instead */
+static void
+QCBOREncode_AddURIToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC URI);
+
+/* Use QCBOREncode_AddTB64Text() instead */
+static void
+QCBOREncode_AddB64Text(QCBOREncodeContext *pCtx, UsefulBufC B64Text);
+
+/* Use QCBOREncode_AddTB64TextToMapSZ() instead */
+static void
+QCBOREncode_AddB64TextToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC B64Text);
+
+/* Use QCBOREncode_AddTB64TextToMapN() instead */
+static void
+QCBOREncode_AddB64TextToMapN(QCBOREncodeContext *pCtx, int64_t nLabel, UsefulBufC B64Text);
+
+/* Use QCBOREncode_AddTB64URLText() instead */
+static void
+QCBOREncode_AddB64URLText(QCBOREncodeContext *pCtx, UsefulBufC B64Text);
+
+/* Use QCBOREncode_AddTB64URLTextToMapSZ() instead */
+static void
+QCBOREncode_AddB64URLTextToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ UsefulBufC B64Text);
+
+/* Use QCBOREncode_AddTB64URLTextToMapN() instead */
+static void
+QCBOREncode_AddB64URLTextToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ UsefulBufC B64Text);
+
+/* Use QCBOREncode_AddTRegex() instead */
+static void
+QCBOREncode_AddRegex(QCBOREncodeContext *pCtx, UsefulBufC Regex);
+
+/* Use QCBOREncode_AddTRegexToMapSZ() instead */
+static void
+QCBOREncode_AddRegexToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ UsefulBufC Regex);
+
+/* Use QCBOREncode_AddTRegexToMapN() instead */
+static void
+QCBOREncode_AddRegexToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ UsefulBufC Regex);
+
+/* Use QCBOREncode_AddTMIMEData() instead */
+static void
+QCBOREncode_AddMIMEData(QCBOREncodeContext *pCtx, UsefulBufC MIMEData);
+
+/* Use QCBOREncode_AddTMIMEDataToMapSZ() instead */
+static void
+QCBOREncode_AddMIMEDataToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ UsefulBufC MIMEData);
+
+/* Use QCBOREncode_AddTMIMEDataToMapN() instead */
+static void
+QCBOREncode_AddMIMEDataToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ UsefulBufC MIMEData);
+
+/* Use QCBOREncode_AddTDateString() instead */
+static void
+QCBOREncode_AddDateString(QCBOREncodeContext *pCtx, const char *szDate);
+
+/* Use QCBOREncode_AddTDateStringToMapSZ() instead */
+static void
+QCBOREncode_AddDateStringToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ const char *szDate);
+
+/* Use QCBOREncode_AddTDateStringToMapN instead */
+static void
+QCBOREncode_AddDateStringToMapN(QCBOREncodeContext *pCtx,
+ int64_t nLabel,
+ const char *szDate);
+
+/* Use QCBOREncode_AddBoolToMapSZ() instead */
+static void
+QCBOREncode_AddBoolToMap(QCBOREncodeContext *pCtx, const char *szLabel, bool b);
+
+/* Use QCBOREncode_AddNULLToMapSZ() instead */
+static void
+QCBOREncode_AddNULLToMap(QCBOREncodeContext *pCtx, const char *szLabel);
+
+/* Use QCBOREncode_AddUndefToMapSZ() instead */
+static void
+QCBOREncode_AddUndefToMap(QCBOREncodeContext *pCtx, const char *szLabel);
+
+/* Use QCBOREncode_AddSimpleToMapSZ instead */
+static void
+QCBOREncode_AddSimpleToMap(QCBOREncodeContext *pCtx,
+ const char *szLabel,
+ const uint8_t uSimple);
+
+/* Use QCBOREncode_OpenArrayInMapSZ() instead */
+static void
+QCBOREncode_OpenArrayInMap(QCBOREncodeContext *pCtx, const char *szLabel);
+
+/* Use QCBOREncode_OpenMapInMapSZ() instead */
+static void
+QCBOREncode_OpenMapInMap(QCBOREncodeContext *pCtx, const char *szLabel);
+
+/* Use QCBOREncode_OpenArrayIndefiniteLengthInMapSZ() instead */
+static void
+QCBOREncode_OpenArrayIndefiniteLengthInMap(QCBOREncodeContext *pCtx,
+ const char *szLabel);
+
+/* Use QCBOREncode_OpenMapIndefiniteLengthInMapSZ() instead */
+static void
+QCBOREncode_OpenMapIndefiniteLengthInMap(QCBOREncodeContext *pCtx,
+ const char *szLabel);
+
+/* Use QCBOREncode_BstrWrapInMapSZ() instead */
+static void
+QCBOREncode_BstrWrapInMap(QCBOREncodeContext *pCtx, const char *szLabel);
+
+/* Use QCBOREncode_AddEncodedToMapSZ() instead */
+static void
+QCBOREncode_AddEncodedToMap(QCBOREncodeContext *pCtx, const char *szLabel, UsefulBufC Encoded);
+
+
+/* ========================================================================= *
+ * END OF DEPRECATED FUNCTIONS *
+ * ========================================================================= */
+
+
+
+
+
+/* ========================================================================= *
+ * BEGINNING OF PRIVATE INLINE IMPLEMENTATION *
+ * ========================================================================= */
/* Semi-private funcion used by public inline functions. See qcbor_encode.c */
void QCBOREncode_Private_AppendCBORHead(QCBOREncodeContext *pMe,
@@ -3079,15 +3298,21 @@
static inline void
-QCBOREncode_AddInt64ToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const int64_t nNum)
+QCBOREncode_AddInt64ToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const int64_t nNum)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddInt64(pMe, nNum);
}
static inline void
+QCBOREncode_AddInt64ToMap(QCBOREncodeContext *pMe, const char *szLabel, int64_t nNum)
+{
+ QCBOREncode_AddInt64ToMapSZ(pMe, szLabel, nNum);
+}
+
+static inline void
QCBOREncode_AddInt64ToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const int64_t nNum)
@@ -3105,15 +3330,21 @@
static inline void
-QCBOREncode_AddUInt64ToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const uint64_t uNum)
+QCBOREncode_AddUInt64ToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const uint64_t uNum)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddUInt64(pMe, uNum);
}
static inline void
+QCBOREncode_AddUInt64ToMap(QCBOREncodeContext *pMe, const char *szLabel, uint64_t uNum)
+{
+ QCBOREncode_AddUInt64ToMapSZ(pMe, szLabel, uNum);
+}
+
+static inline void
QCBOREncode_AddUInt64ToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const uint64_t uNum)
@@ -3151,15 +3382,21 @@
}
static inline void
-QCBOREncode_AddTextToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const UsefulBufC Text)
+QCBOREncode_AddTextToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const UsefulBufC Text)
{
QCBOREncode_AddText(pMe, UsefulBuf_FromSZ(szLabel));
QCBOREncode_AddText(pMe, Text);
}
static inline void
+QCBOREncode_AddTextToMap(QCBOREncodeContext *pMe, const char *szLabel, UsefulBufC Text)
+{
+ QCBOREncode_AddTextToMapSZ(pMe, szLabel, Text);
+}
+
+static inline void
QCBOREncode_AddTextToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const UsefulBufC Text)
@@ -3176,15 +3413,21 @@
}
static inline void
-QCBOREncode_AddSZStringToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const char *szString)
+QCBOREncode_AddSZStringToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const char *szString)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddSZString(pMe, szString);
}
static inline void
+QCBOREncode_AddSZStringToMap(QCBOREncodeContext *pMe, const char *szLabel, const char *szString)
+{
+ QCBOREncode_AddSZStringToMapSZ(pMe, szLabel, szString);
+}
+
+static inline void
QCBOREncode_AddSZStringToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const char *szString)
@@ -3240,15 +3483,21 @@
}
static inline void
-QCBOREncode_AddDoubleToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const double dNum)
+QCBOREncode_AddDoubleToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const double dNum)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddDouble(pMe, dNum);
}
static inline void
+QCBOREncode_AddDoubleToMap(QCBOREncodeContext *pMe, const char *szLabel, double dNum)
+{
+ QCBOREncode_AddDoubleToMapSZ(pMe, szLabel, dNum);
+}
+
+static inline void
QCBOREncode_AddDoubleToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const double dNum)
@@ -3269,15 +3518,21 @@
}
static inline void
-QCBOREncode_AddFloatToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const float dNum)
+QCBOREncode_AddFloatToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const float dNum)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddFloat(pMe, dNum);
}
static inline void
+QCBOREncode_AddFloatToMap(QCBOREncodeContext *pMe, const char *szLabel, float fNum)
+{
+ QCBOREncode_AddFloatToMapSZ(pMe, szLabel, fNum);
+}
+
+static inline void
QCBOREncode_AddFloatToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const float fNum)
@@ -3287,15 +3542,21 @@
}
static inline void
-QCBOREncode_AddDoubleNoPreferredToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const double dNum)
+QCBOREncode_AddDoubleNoPreferredToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const double dNum)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddDoubleNoPreferred(pMe, dNum);
}
static inline void
+QCBOREncode_AddDoubleNoPreferredToMap(QCBOREncodeContext *pMe, const char *szLabel, double dNum)
+{
+ QCBOREncode_AddDoubleNoPreferredToMapSZ(pMe, szLabel, dNum);
+}
+
+static inline void
QCBOREncode_AddDoubleNoPreferredToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const double dNum)
@@ -3305,15 +3566,21 @@
}
static inline void
-QCBOREncode_AddFloatNoPreferredToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const float dNum)
+QCBOREncode_AddFloatNoPreferredToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const float dNum)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddFloatNoPreferred(pMe, dNum);
}
static inline void
+QCBOREncode_AddFloatNoPreferredToMap(QCBOREncodeContext *pMe, const char *szLabel, float fNum)
+{
+ QCBOREncode_AddFloatNoPreferredToMapSZ(pMe, szLabel, fNum);
+}
+
+static inline void
QCBOREncode_AddFloatNoPreferredToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const float dNum)
@@ -3424,15 +3691,21 @@
}
static inline void
-QCBOREncode_AddBytesToMap(QCBOREncodeContext *pMe,
- const char *szLabel,
- const UsefulBufC Bytes)
+QCBOREncode_AddBytesToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const UsefulBufC Bytes)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddBytes(pMe, Bytes);
}
static inline void
+QCBOREncode_AddBytesToMap(QCBOREncodeContext *pMe, const char *szLabel, UsefulBufC Bytes)
+{
+ QCBOREncode_AddBytesToMapSZ(pMe, szLabel, Bytes);
+}
+
+static inline void
QCBOREncode_AddBytesToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const UsefulBufC Bytes)
@@ -4638,12 +4911,20 @@
}
static inline void
+QCBOREncode_AddSimpleToMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel,
+ const uint8_t uSimple)
+{
+ QCBOREncode_AddSZString(pMe, szLabel);
+ QCBOREncode_AddSimple(pMe, uSimple);
+}
+
+static inline void
QCBOREncode_AddSimpleToMap(QCBOREncodeContext *pMe,
const char *szLabel,
const uint8_t uSimple)
{
- QCBOREncode_AddSZString(pMe, szLabel);
- QCBOREncode_AddSimple(pMe, uSimple);
+ QCBOREncode_AddSimpleToMapSZ(pMe, szLabel, uSimple);
}
static inline void
@@ -4667,13 +4948,19 @@
}
static inline void
-QCBOREncode_AddBoolToMap(QCBOREncodeContext *pMe, const char *szLabel, const bool b)
+QCBOREncode_AddBoolToMapSZ(QCBOREncodeContext *pMe, const char *szLabel, const bool b)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddBool(pMe, b);
}
static inline void
+QCBOREncode_AddBoolToMap(QCBOREncodeContext *pMe, const char *szLabel, bool b)
+{
+ QCBOREncode_AddBoolToMapSZ(pMe, szLabel, b);
+}
+
+static inline void
QCBOREncode_AddBoolToMapN(QCBOREncodeContext *pMe, const int64_t nLabel, const bool b)
{
QCBOREncode_AddInt64(pMe, nLabel);
@@ -4688,13 +4975,19 @@
}
static inline void
-QCBOREncode_AddNULLToMap(QCBOREncodeContext *pMe, const char *szLabel)
+QCBOREncode_AddNULLToMapSZ(QCBOREncodeContext *pMe, const char *szLabel)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddNULL(pMe);
}
static inline void
+QCBOREncode_AddNULLToMap(QCBOREncodeContext *pMe, const char *szLabel)
+{
+ QCBOREncode_AddNULLToMapSZ(pMe, szLabel);
+}
+
+static inline void
QCBOREncode_AddNULLToMapN(QCBOREncodeContext *pMe, const int64_t nLabel)
{
QCBOREncode_AddInt64(pMe, nLabel);
@@ -4709,13 +5002,19 @@
}
static inline void
-QCBOREncode_AddUndefToMap(QCBOREncodeContext *pMe, const char *szLabel)
+QCBOREncode_AddUndefToMapSZ(QCBOREncodeContext *pMe, const char *szLabel)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_AddUndef(pMe);
}
static inline void
+QCBOREncode_AddUndefToMap(QCBOREncodeContext *pCtx, const char *szLabel)
+{
+ QCBOREncode_AddUndefToMapSZ(pCtx, szLabel);
+}
+
+static inline void
QCBOREncode_AddUndefToMapN(QCBOREncodeContext *pMe, const int64_t nLabel)
{
QCBOREncode_AddInt64(pMe, nLabel);
@@ -4730,13 +5029,20 @@
}
static inline void
-QCBOREncode_OpenArrayInMap(QCBOREncodeContext *pMe, const char *szLabel)
+QCBOREncode_OpenArrayInMapSZ(QCBOREncodeContext *pMe, const char *szLabel)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_OpenArray(pMe);
}
static inline void
+QCBOREncode_OpenArrayInMap(QCBOREncodeContext *pMe, const char *szLabel)
+{
+ QCBOREncode_OpenArrayInMapSZ(pMe, szLabel);
+}
+
+
+static inline void
QCBOREncode_OpenArrayInMapN(QCBOREncodeContext *pMe, const int64_t nLabel)
{
QCBOREncode_AddInt64(pMe, nLabel);
@@ -4758,13 +5064,19 @@
}
static inline void
-QCBOREncode_OpenMapInMap(QCBOREncodeContext *pMe, const char *szLabel)
+QCBOREncode_OpenMapInMapSZ(QCBOREncodeContext *pMe, const char *szLabel)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_OpenMap(pMe);
}
static inline void
+QCBOREncode_OpenMapInMap(QCBOREncodeContext *pMe, const char *szLabel)
+{
+ QCBOREncode_OpenMapInMapSZ(pMe, szLabel);
+}
+
+static inline void
QCBOREncode_OpenMapInMapN(QCBOREncodeContext *pMe, const int64_t nLabel)
{
QCBOREncode_AddInt64(pMe, nLabel);
@@ -4784,7 +5096,7 @@
}
static inline void
-QCBOREncode_OpenArrayIndefiniteLengthInMap(QCBOREncodeContext *pMe,
+QCBOREncode_OpenArrayIndefiniteLengthInMapSZ(QCBOREncodeContext *pMe,
const char *szLabel)
{
QCBOREncode_AddSZString(pMe, szLabel);
@@ -4792,6 +5104,13 @@
}
static inline void
+QCBOREncode_OpenArrayIndefiniteLengthInMap(QCBOREncodeContext *pMe,
+ const char *szLabel)
+{
+ QCBOREncode_OpenArrayIndefiniteLengthInMapSZ(pMe, szLabel);
+}
+
+static inline void
QCBOREncode_OpenArrayIndefiniteLengthInMapN(QCBOREncodeContext *pMe,
const int64_t nLabel)
{
@@ -4813,14 +5132,21 @@
}
static inline void
-QCBOREncode_OpenMapIndefiniteLengthInMap(QCBOREncodeContext *pMe,
- const char *szLabel)
+QCBOREncode_OpenMapIndefiniteLengthInMapSZ(QCBOREncodeContext *pMe,
+ const char *szLabel)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_OpenMapIndefiniteLength(pMe);
}
static inline void
+QCBOREncode_OpenMapIndefiniteLengthInMap(QCBOREncodeContext *pMe,
+ const char *szLabel)
+{
+ QCBOREncode_OpenMapIndefiniteLengthInMapSZ(pMe, szLabel);
+}
+
+static inline void
QCBOREncode_OpenMapIndefiniteLengthInMapN(QCBOREncodeContext *pMe,
const int64_t nLabel)
{
@@ -4842,13 +5168,19 @@
}
static inline void
-QCBOREncode_BstrWrapInMap(QCBOREncodeContext *pMe, const char *szLabel)
+QCBOREncode_BstrWrapInMapSZ(QCBOREncodeContext *pMe, const char *szLabel)
{
QCBOREncode_AddSZString(pMe, szLabel);
QCBOREncode_BstrWrap(pMe);
}
static inline void
+QCBOREncode_BstrWrapInMap(QCBOREncodeContext *pMe, const char *szLabel)
+{
+ QCBOREncode_BstrWrapInMapSZ(pMe, szLabel);
+}
+
+static inline void
QCBOREncode_BstrWrapInMapN(QCBOREncodeContext *pMe, const int64_t nLabel)
{
QCBOREncode_AddInt64(pMe, nLabel);
@@ -4864,7 +5196,7 @@
static inline void
-QCBOREncode_AddEncodedToMap(QCBOREncodeContext *pMe,
+QCBOREncode_AddEncodedToMapSZ(QCBOREncodeContext *pMe,
const char *szLabel,
const UsefulBufC Encoded)
{
@@ -4873,6 +5205,12 @@
}
static inline void
+QCBOREncode_AddEncodedToMap(QCBOREncodeContext *pMe, const char *szLabel, UsefulBufC Encoded)
+{
+ QCBOREncode_AddEncodedToMapSZ(pMe, szLabel, Encoded);
+}
+
+static inline void
QCBOREncode_AddEncodedToMapN(QCBOREncodeContext *pMe,
const int64_t nLabel,
const UsefulBufC Encoded)
@@ -4923,9 +5261,9 @@
return UsefulOutBuf_GetEndPosition(&(pMe->OutBuf));
}
-/* ========================================================================
- END OF PRIVATE INLINE IMPLEMENTATION
- ======================================================================== */
+/* ======================================================================== *
+ * END OF PRIVATE INLINE IMPLEMENTATION *
+ * ======================================================================== */
#ifdef __cplusplus
}
diff --git a/inc/qcbor/qcbor_spiffy_decode.h b/inc/qcbor/qcbor_spiffy_decode.h
index 6c9963a..e690f31 100644
--- a/inc/qcbor/qcbor_spiffy_decode.h
+++ b/inc/qcbor/qcbor_spiffy_decode.h
@@ -1603,7 +1603,7 @@
*
* See @ref Tag-Usage for discussion on tag requirements.
*
- * See also @ref CBOR_TAG_DATE_EPOCH, QCBOREncode_AddDateEpoch() and
+ * See also @ref CBOR_TAG_DATE_EPOCH, QCBOREncode_AddTDateEpoch() and
* @ref QCBOR_TYPE_DATE_EPOCH.
*/
void
@@ -2036,7 +2036,7 @@
*
* See @ref Tag-Usage for discussion on tag requirements.
*
- * See also @ref CBOR_TAG_URI, QCBOREncode_AddURI() and
+ * See also @ref CBOR_TAG_URI, QCBOREncode_AddTURI() and
* @ref QCBOR_TYPE_URI.
*/
static void
@@ -2111,7 +2111,7 @@
*
* Note that this does not actually remove the base64url encoding.
*
- * See also @ref CBOR_TAG_B64URL, QCBOREncode_AddB64URLText() and
+ * See also @ref CBOR_TAG_B64URL, QCBOREncode_AddTB64URLText() and
* @ref QCBOR_TYPE_BASE64URL.
*/
static void
@@ -2146,7 +2146,7 @@
*
* See @ref Tag-Usage for discussion on tag requirements.
*
- * See also @ref CBOR_TAG_REGEX, QCBOREncode_AddRegex() and
+ * See also @ref CBOR_TAG_REGEX, QCBOREncode_AddTRegex() and
* @ref QCBOR_TYPE_REGEX.
*/
static void
@@ -2234,7 +2234,7 @@
*
* See @ref Tag-Usage for discussion on tag requirements.
*
- * See also @ref CBOR_TAG_BIN_UUID, QCBOREncode_AddBinaryUUID() and
+ * See also @ref CBOR_TAG_BIN_UUID, QCBOREncode_AddTBinaryUUID() and
* @ref QCBOR_TYPE_UUID.
*/
static void
@@ -2392,6 +2392,18 @@
int64_t *pnExponent);
/* Use QCBORDecode_GetTDecimalFractionBigMantissaRaw() instead */
+
+/*
+ TODO: integrate this comment better
+* For QCBOR before v1.5, this function had a bug where
+* by the negative mantissa sometimes had the offset of
+* one applied, making this function somewhat usless for
+* negative mantissas. Specifically if the to-be-decode CBOR
+* was a type 1 integer the offset was applied and when it
+* was a tag 3, the offset was not applied. It is possible
+* that a tag 3 could contain a value in the range of a type 1
+* integer. @ref QCBORExpAndMantissa is
+* correct and can be used instead of this. */
static void
QCBORDecode_GetDecimalFractionBig(QCBORDecodeContext *pCtx,
uint8_t uTagRequirement,
@@ -2472,9 +2484,13 @@
bool *pbMantissaIsNegative,
int64_t *pnExponent);
#endif /* ! QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA */
-/* ===========================================================================
- BEGINNING OF PRIVATE INLINE IMPLEMENTATION
- ========================================================================== */
+
+
+
+
+/* ========================================================================= *
+ * BEGINNING OF PRIVATE INLINE IMPLEMENTATION *
+ * ========================================================================= */
/* Semi-private funcion used by public inline functions. See qcbor_decode.c */
@@ -3394,6 +3410,9 @@
pUUID);
}
+/* ======================================================================== *
+ * END OF PRIVATE INLINE IMPLEMENTATION *
+ * ======================================================================== */
static inline void
QCBORDecode_GetBignum(QCBORDecodeContext *pMe,
diff --git a/src/qcbor_decode.c b/src/qcbor_decode.c
index d08298b..2992ce1 100644
--- a/src/qcbor_decode.c
+++ b/src/qcbor_decode.c
@@ -3293,7 +3293,7 @@
*
* @retval Also errors returned by QCBORDecode_GetNext().
*
- * On input, \c pItemArray contains a list of labels and data types of
+ * On input, @c pItemArray contains a list of labels and data types of
* items to be found.
*
* On output, the fully retrieved items are filled in with values and
@@ -3717,10 +3717,10 @@
* @param[out] pItem The item for the array/map.
* @param[out] pEncodedCBOR Pointer and length of the encoded map or array.
*
- * The next item to be decoded must be a map or array as specified by \c uType.
+ * The next item to be decoded must be a map or array as specified by @c uType.
*
- * \c pItem will be filled in with the label and tags of the array or map
- * in addition to \c pEncodedCBOR giving the pointer and length of the
+ * @c pItem will be filled in with the label and tags of the array or map
+ * in addition to @c pEncodedCBOR giving the pointer and length of the
* encoded CBOR.
*
* When this is complete, the traversal cursor is at the end of the array or
@@ -3820,7 +3820,7 @@
* @param[out] pItem The item for the array/map.
* @param[out] pEncodedCBOR Pointer and length of the encoded map or array.
*
- * The next item to be decoded must be a map or array as specified by \c uType.
+ * The next item to be decoded must be a map or array as specified by @c uType.
*
* When this is complete, the traversal cursor is unchanged.
*/void
@@ -5409,7 +5409,7 @@
* unsigned integer.
*
* There are many inputs for which the result will not fit in the
- * 64-bit integer and \ref QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW will
+ * 64-bit integer and @ref QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW will
* be returned.
*/
static QCBORError
@@ -5457,7 +5457,7 @@
* output is a 64-bit unsigned integer.
*
* There are many inputs for which the result will not fit in the
- * 64-bit integer and \ref QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW will
+ * 64-bit integer and @ref QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW will
* be returned.
*/
static QCBORError
@@ -5504,7 +5504,7 @@
*
* @returns Error code
*
- * \c pfExp performs exponentiation on and unsigned mantissa and
+ * @c pfExp performs exponentiation on and unsigned mantissa and
* produces an unsigned result. This converts the mantissa from signed
* and converts the result to signed. The exponentiation function is
* either for base 2 or base 10 (and could be other if needed).
@@ -5592,7 +5592,7 @@
*
* @returns Error code
*
- * \c pfExp performs exponentiation on and unsigned mantissa and
+ * @c pfExp performs exponentiation on and unsigned mantissa and
* produces an unsigned result. This errors out if the mantissa
* is negative because the output is unsigned.
*/
@@ -5624,7 +5624,7 @@
*
* @returns Error code
*
- * \c pfExp performs exponentiation on and unsigned mantissa and
+ * @c pfExp performs exponentiation on and unsigned mantissa and
* produces an unsigned result so this is just a wrapper that does
* nothing (and is likely inlined).
*/
@@ -6816,7 +6816,7 @@
return QCBOR_ERR_UNEXPECTED_TYPE;
}
break;
-#endif /* ndef QCBOR_DISABLE_EXP_AND_MANTISSA */
+#endif /* ! QCBOR_DISABLE_EXP_AND_MANTISSA */
case QCBOR_TYPE_POSBIGNUM:
if(uConvertTypes & QCBOR_CONVERT_TYPE_BIG_NUM) {
@@ -6845,32 +6845,33 @@
break;
case QCBOR_TYPE_DECIMAL_FRACTION_NEG_BIGNUM:
- if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
- double dMantissa = -QCBOR_Private_ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
- *pdValue = dMantissa * pow(10, (double)pItem->val.expAndMantissa.nExponent);
+ if(uConvertTypes & QCBOR_CONVERT_TYPE_DECIMAL_FRACTION) {
+ /* Must subtract 1 for CBOR negative integer offset */
+ double dMantissa = -1-QCBOR_Private_ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
+ *pdValue = dMantissa * pow(10, (double)pItem->val.expAndMantissa.nExponent);
} else {
return QCBOR_ERR_UNEXPECTED_TYPE;
}
break;
case QCBOR_TYPE_BIGFLOAT_POS_BIGNUM:
- if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
- double dMantissa = QCBOR_Private_ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
- *pdValue = dMantissa * exp2((double)pItem->val.expAndMantissa.nExponent);
+ if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
+ double dMantissa = QCBOR_Private_ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
+ *pdValue = dMantissa * exp2((double)pItem->val.expAndMantissa.nExponent);
} else {
return QCBOR_ERR_UNEXPECTED_TYPE;
}
break;
case QCBOR_TYPE_BIGFLOAT_NEG_BIGNUM:
- if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
- double dMantissa = -1-QCBOR_Private_ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
- *pdValue = dMantissa * exp2((double)pItem->val.expAndMantissa.nExponent);
+ if(uConvertTypes & QCBOR_CONVERT_TYPE_BIGFLOAT) {
+ double dMantissa = -1-QCBOR_Private_ConvertBigNumToDouble(pItem->val.expAndMantissa.Mantissa.bigNum);
+ *pdValue = dMantissa * exp2((double)pItem->val.expAndMantissa.nExponent);
} else {
return QCBOR_ERR_UNEXPECTED_TYPE;
}
break;
-#endif /* ndef QCBOR_DISABLE_EXP_AND_MANTISSA */
+#endif /* ! QCBOR_DISABLE_EXP_AND_MANTISSA */
default:
return QCBOR_ERR_UNEXPECTED_TYPE;
@@ -7171,8 +7172,8 @@
bool *pbIsNegative,
int64_t *pnExponent)
{
- QCBORError uErr;
- uint64_t uMantissa;
+ QCBORError uErr;
+ uint64_t uMantissa;
const uint8_t *qTypes;
if(pMe->uLastError) {
diff --git a/src/qcbor_encode.c b/src/qcbor_encode.c
index 49dfa2a..47208a8 100644
--- a/src/qcbor_encode.c
+++ b/src/qcbor_encode.c
@@ -1032,8 +1032,8 @@
* To output a mantissa that is between INT64_MAX and UINT64_MAX from 0,
* it must be as a big number.
*
- * Typically, QCBOREncode_AddDecimalFraction(), QCBOREncode_AddBigFloat(),
- * QCBOREncode_AddDecimalFractionBigNum() or QCBOREncode_AddBigFloatBigNum()
+ * Typically, QCBOREncode_AddTDecimalFraction(), QCBOREncode_AddTBigFloat(),
+ * QCBOREncode_AddTDecimalFractionBigNum() or QCBOREncode_AddTBigFloatBigNum()
* is called instead of this.
*/
void
@@ -1695,7 +1695,7 @@
return;
}
/* QCBOREncode_CancelBstrWrap() can't correctly undo
- * QCBOREncode_BstrWrapInMap() or QCBOREncode_BstrWrapInMapN(). It
+ * QCBOREncode_BstrWrapInMapSZ() or QCBOREncode_BstrWrapInMapN(). It
* can't undo the labels they add. It also doesn't catch the error
* of using it this way. QCBOREncode_CancelBstrWrap() is used
* infrequently and the the result is incorrect CBOR, not a
diff --git a/test/qcbor_decode_tests.c b/test/qcbor_decode_tests.c
index adcf9b7..e4f0f9e 100644
--- a/test/qcbor_decode_tests.c
+++ b/test/qcbor_decode_tests.c
@@ -4146,6 +4146,14 @@
};
+static const uint8_t spTaggedString[] = {
+ 0xd8, 0xf0, 0x61, 0x40,
+};
+
+static const uint8_t spTaggedInt[] = {
+ 0xd8, 0xf4, 0x01,
+};
+
static int32_t CheckCSRMaps(QCBORDecodeContext *pDC);
int32_t TagNumberDecodeTest(void)
@@ -4153,6 +4161,9 @@
QCBORDecodeContext DCtx;
QCBORItem Item;
QCBORError uError;
+ UsefulBufC UBC;
+ int64_t nInt;
+
QCBORDecode_Init(&DCtx,
UsefulBuf_FROM_BYTE_ARRAY_LITERAL(spTagInput),
@@ -4592,7 +4603,6 @@
if(QCBORDecode_GetNthTagOfLast(&DCtx, 3) != CBOR_TAG_INVALID64) {
return 234;
}
- int64_t nInt;
QCBORDecode_GetInt64(&DCtx, &nInt);
if(QCBORDecode_GetNthTagOfLast(&DCtx, 0) != 7) {
return 240;
@@ -4608,6 +4618,8 @@
}
#endif /* ! QCBOR_DISABLE_NON_INTEGER_LABELS */
+
+
QCBORDecode_Init(&DCtx,
UsefulBuf_FROM_BYTE_ARRAY_LITERAL(spSpiffyTagInput),
QCBOR_DECODE_MODE_NORMAL);
@@ -4679,6 +4691,44 @@
return 305;
}
+ QCBORDecode_Init(&DCtx,
+ UsefulBuf_FROM_BYTE_ARRAY_LITERAL(spTaggedString),
+ QCBOR_DECODE_MODE_NORMAL);
+ QCBORDecode_CompatibilityV1(&DCtx);
+
+ /* See that QCBORDecode_GetTextString() ignores tags */
+ QCBORDecode_GetTextString(&DCtx, &UBC);
+ if(QCBORDecode_GetError(&DCtx) != QCBOR_SUCCESS) {
+ return 400;
+ }
+ if(UBC.len != 1) {
+ return 401;
+ }
+
+ uTagNumber = QCBORDecode_GetNthTagOfLast(&DCtx, 0);
+ if(uTagNumber != 240) {
+ return 404;
+ }
+
+
+ QCBORDecode_Init(&DCtx,
+ UsefulBuf_FROM_BYTE_ARRAY_LITERAL(spTaggedInt),
+ QCBOR_DECODE_MODE_NORMAL);
+ QCBORDecode_CompatibilityV1(&DCtx);
+ /* See that QCBORDecode_GetInt64() ignores tags */
+ QCBORDecode_GetInt64(&DCtx, &nInt);
+ if(QCBORDecode_GetError(&DCtx) != QCBOR_SUCCESS) {
+ return 410;
+ }
+ if(nInt != 1) {
+ return 411;
+ }
+
+ uTagNumber = QCBORDecode_GetNthTagOfLast(&DCtx, 0);
+ if(uTagNumber != 244) {
+ return 414;
+ }
+
return 0;
}
#endif /* ! QCBOR_DISABLE_TAGS */
@@ -5982,6 +6032,8 @@
int64_t nExponentGBFB;
UsefulBufC MantissaGBFB;
bool IsNegativeGBFB;
+
+ // TODO: add tests for Raw
};
@@ -6004,7 +6056,7 @@
-1,
3,
- QCBOR_SUCCESS, /* for GetDecimalFractionBig */
+ QCBOR_SUCCESS, /* for GetTDecimalFractionBigMantissa */
-1,
{(const uint8_t []){0x03}, 1},
false,
@@ -6013,7 +6065,7 @@
-1,
3,
- QCBOR_SUCCESS, /* for GetBigFloatBig */
+ QCBOR_SUCCESS, /* for GetTBigFloatBigMantissa */
-1,
{(const uint8_t []){0x03}, 1},
false
@@ -6035,7 +6087,7 @@
0,
0,
- QCBOR_ERR_UNEXPECTED_TYPE, /* for GetDecimalFractionBig */
+ QCBOR_ERR_UNEXPECTED_TYPE, /* for GetTDecimalFractionBigMantissa */
0,
{(const uint8_t []){0x00}, 1},
false,
@@ -6044,7 +6096,7 @@
0,
0,
- QCBOR_ERR_UNEXPECTED_TYPE, /* for GetBigFloatBig */
+ QCBOR_ERR_UNEXPECTED_TYPE, /* for GetTBigFloatBigMantissa */
0,
{(const uint8_t []){0x00}, 1},
false
@@ -6067,7 +6119,7 @@
-1,
3,
- QCBOR_SUCCESS, /* for GetDecimalFractionBig */
+ QCBOR_SUCCESS, /* for GetTDecimalFractionBigMantissa */
-1,
{(const uint8_t []){0x03}, 1},
false,
@@ -6076,7 +6128,7 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetBigFloatBig */
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTBigFloatBigMantissa */
0,
{(const uint8_t []){0x00}, 1},
false
@@ -6098,16 +6150,16 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetDecimalFractionBig */ // TODO: think about error code
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTDecimalFractionBigMantissa */ // TODO: think about error code
0,
- {(const uint8_t []){0x03}, 1},
+ {(const uint8_t []){0x02}, 1},
false,
QCBOR_SUCCESS, /* for GetBigFloat */
300,
100,
- QCBOR_SUCCESS, /* for GetBigFloatBig */
+ QCBOR_SUCCESS, /* for GetTBigFloatBigMantissa */
300,
{(const uint8_t []){0x64}, 1},
false
@@ -6126,7 +6178,7 @@
0UL,
{(const uint8_t []){0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10}, 10},
- QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW, /* for GetDecimalFraction */
+ QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW, /* for GetTDecimalFractionBigMantissa */
0,
0,
@@ -6139,7 +6191,7 @@
0,
0,
- QCBOR_ERR_UNEXPECTED_TYPE, /* for GetBigFloatBig */
+ QCBOR_ERR_UNEXPECTED_TYPE, /* for GetTBigFloatBigMantissa */
0,
{(const uint8_t []){0x00}, 0},
false
@@ -6162,7 +6214,7 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetDecimalFractionBig */
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTDecimalFractionBigMantissa */
0,
{(const uint8_t []){0x00}, 0},
false,
@@ -6171,7 +6223,7 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetBigFloatBig */
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTBigFloatBigMantissa */
0,
{(const uint8_t []){0x00}, 0},
false
@@ -6194,7 +6246,7 @@
0,
0,
- QCBOR_ERR_UNEXPECTED_TYPE, /* for GetDecimalFractionBig */
+ QCBOR_ERR_UNEXPECTED_TYPE, /* for GetTDecimalFractionBigMantissa */
-20,
{(const uint8_t []){0x00}, 1},
false,
@@ -6203,7 +6255,7 @@
-20,
4294967295,
- QCBOR_SUCCESS, /* for GetBigFloatBig */
+ QCBOR_SUCCESS, /* for GetTBigFloatBigMantissa */
-20,
{(const uint8_t []){0xff, 0xff, 0xff, 0xff}, 4},
false
@@ -6226,12 +6278,12 @@
0,
0,
- QCBOR_SUCCESS, /* for GetDecimalFractionBig */
+ QCBOR_SUCCESS, /* for GetTDecimalFractionBigMantissa */
-20,
{(const uint8_t []){0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10}, 10},
false,
- QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW, /* for GetBigFloat */
+ QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW, /* for GetTBigFloatBigMantissa */
0,
0,
@@ -6267,7 +6319,7 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetBigFloatBig */
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTBigFloatBigMantissa */
0,
{(const uint8_t []){0x00}, 1},
false
@@ -6290,12 +6342,12 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetDecimalFractionBig */
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTDecimalFractionBigMantissa */
0,
{(const uint8_t []){0x00}, 1},
false,
- QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW, /* for GetBigFloat */
+ QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW, /* for GetTBigFloatBigMantissa */
0,
0,
@@ -6322,7 +6374,7 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetDecimalFractionBig */
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTDecimalFractionBigMantissa */
0,
{(const uint8_t []){0x00}, 1},
false,
@@ -6331,7 +6383,7 @@
0,
0,
- QCBOR_SUCCESS, /* for GetBigFloatBig */
+ QCBOR_SUCCESS, /* for GetTBigFloatBigMantissa */
9223372036854775807,
{(const uint8_t []){0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 9},
true
@@ -6354,7 +6406,7 @@
0,
0,
- QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetDecimalFractionBig */
+ QCBOR_ERR_BAD_EXP_AND_MANTISSA, /* for GetTDecimalFractionBigMantissa */
0,
{(const uint8_t []){0x00}, 1},
false,
@@ -6363,7 +6415,7 @@
0,
0,
- QCBOR_SUCCESS, /* for GetBigFloatBig */
+ QCBOR_SUCCESS, /* for GetTBigFloatBigMantissa */
9223372036854775807,
{(const uint8_t []){0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, 8},
false
@@ -6386,7 +6438,7 @@
for(uIndex = 0; uIndex < C_ARRAY_COUNT(pEaMTests, struct EaMTest); uIndex++) {
const struct EaMTest *pT = &pEaMTests[uIndex];
- if(uIndex + 1 == 11) {
+ if(uIndex + 1 == 4) {
nExponent = 99; // just to set a break point
}
@@ -6598,8 +6650,8 @@
QCBOREncode_Init(&EC, UsefulBuf_FROM_BYTE_ARRAY(pBuf));
QCBOREncode_OpenArray(&EC);
QCBOREncode_AddDecimalFraction(&EC, 999, 1000); // 999 * (10 ^ 1000)
- QCBOREncode_AddBigFloat(&EC, 100, INT32_MIN);
- QCBOREncode_AddDecimalFractionBigNum(&EC, BN, false, INT32_MAX);
+ QCBOREncode_AddTBigFloat(&EC, QCBOR_ENCODE_AS_TAG, 100, INT32_MIN);
+ QCBOREncode_AddTDecimalFractionBigNum(&EC, QCBOR_ENCODE_AS_TAG, BN, false, INT32_MAX);
QCBOREncode_CloseArray(&EC);
QCBOREncode_Finish(&EC, &Encoded);
@@ -7871,6 +7923,26 @@
FLOAT_ERR_CODE_NO_FLOAT_HW(EXP_AND_MANTISSA_ERROR(QCBOR_SUCCESS))
},
{
+ "Decimal fraction -3/10",
+ {(uint8_t[]){0xC4, 0x82, 0x20, 0x22}, 4},
+ 0,
+ EXP_AND_MANTISSA_ERROR(QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW),
+ 0,
+ EXP_AND_MANTISSA_ERROR(QCBOR_ERR_NUMBER_SIGN_CONVERSION),
+ -0.30000000000000004,
+ FLOAT_ERR_CODE_NO_FLOAT_HW(EXP_AND_MANTISSA_ERROR(QCBOR_SUCCESS))
+ },
+ {
+ "Decimal fraction -3/10, neg bignum mantissa",
+ {(uint8_t[]){0xC4, 0x82, 0x20, 0xc3, 0x41, 0x02}, 6},
+ 0,
+ EXP_AND_MANTISSA_ERROR(QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW),
+ 0,
+ EXP_AND_MANTISSA_ERROR(QCBOR_ERR_NUMBER_SIGN_CONVERSION),
+ -0.30000000000000004,
+ FLOAT_ERR_CODE_NO_FLOAT_HW(EXP_AND_MANTISSA_ERROR(QCBOR_SUCCESS))
+ },
+ {
"extreme pos bignum",
{(uint8_t[]){0xc2, 0x59, 0x01, 0x90,
// 50 rows of 8 is 400 digits.
@@ -8116,7 +8188,6 @@
INFINITY,
FLOAT_ERR_CODE_NO_FLOAT_HW(QCBOR_SUCCESS)
},
-
};
@@ -8637,6 +8708,9 @@
QCBOREncode_Init(&EC, OutputBuffer);
+#ifndef QCBOR_DISABLE_TAGS
+ QCBOREncode_AddTag(&EC, CBOR_TAG_CBOR);
+#endif /* ! QCBOR_DISABLE_TAGS */
QCBOREncode_BstrWrap(&EC);
QCBOREncode_OpenMap(&EC);
QCBOREncode_AddInt64ToMapN(&EC, 100, 1);
@@ -8682,8 +8756,11 @@
int64_t n1, n2, n3, n4, n5, n6, n7, n8;
-
+#ifndef QCBOR_DISABLE_TAGS
+ QCBORDecode_EnterBstrWrapped(&DC, QCBOR_TAG_REQUIREMENT_TAG, NULL);
+#else
QCBORDecode_EnterBstrWrapped(&DC, QCBOR_TAG_REQUIREMENT_NOT_A_TAG, NULL);
+#endif /* ! QCBOR_DISABLE_TAGS */
QCBORDecode_EnterMap(&DC, NULL);
QCBORDecode_GetInt64InMapN(&DC, 100, &n1);
QCBORDecode_GetInt64InMapN(&DC, 200, &n2);
diff --git a/test/qcbor_encode_tests.c b/test/qcbor_encode_tests.c
index e724767..67bf459 100644
--- a/test/qcbor_encode_tests.c
+++ b/test/qcbor_encode_tests.c
@@ -530,6 +530,9 @@
static void AddAll(QCBOREncodeContext *pECtx)
{
+ /* This calls a mix of deprecated and non-deprecated to test both.
+ * Sometimes only deprecated because the deprecated calls the
+ * non-deprecated */
QCBOREncode_OpenArray(pECtx);
/* Some ints that are tagged and have strings preceeding them
@@ -557,7 +560,7 @@
/* Epoch date with labels */
QCBOREncode_OpenMap(pECtx);
QCBOREncode_AddDateEpochToMap(pECtx, "LongLiveDenisRitchie", 1400000000);
- QCBOREncode_AddDateEpochToMap(pECtx, "time()", 1477263730);
+ QCBOREncode_AddTDateEpochToMapSZ(pECtx, "time()", QCBOR_ENCODE_AS_TAG, 1477263730);
QCBOREncode_AddDateEpochToMapN(pECtx, -1969, 1477263222);
QCBOREncode_CloseMap(pECtx);
@@ -570,7 +573,7 @@
QCBOREncode_AddTagNumber(pECtx, 100000);
QCBOREncode_AddBytes(pECtx, ((UsefulBufC) {(uint8_t []){0x00}, 1}));
QCBOREncode_AddBytesToMap(pECtx, "empty", NULLUsefulBufC); // Empty string
- QCBOREncode_AddBytesToMap(pECtx, "blabel", ((UsefulBufC) {(uint8_t []){0x01, 0x02, 0x03}, 3}));
+ QCBOREncode_AddBytesToMapSZ(pECtx, "blabel", ((UsefulBufC) {(uint8_t []){0x01, 0x02, 0x03}, 3}));
QCBOREncode_AddBytesToMapN(pECtx, 0, ((UsefulBufC){(uint8_t []){0x04, 0x02, 0x03, 0xfe}, 4}));
QCBOREncode_CloseMap(pECtx);
@@ -589,7 +592,7 @@
/* text blobs in maps */
QCBOREncode_OpenMap(pECtx);
QCBOREncode_AddTextToMap(pECtx, "#####", UsefulBuf_FROM_SZ_LITERAL("foo bar foo foo"));
- QCBOREncode_AddTextToMap(pECtx, "____", UsefulBuf_FROM_SZ_LITERAL("foo bar"));
+ QCBOREncode_AddTextToMapSZ(pECtx, "____", UsefulBuf_FROM_SZ_LITERAL("foo bar"));
QCBOREncode_AddSZString(pECtx, "()()()");
QCBOREncode_AddTag(pECtx, 1000);
QCBOREncode_AddSZString(pECtx, "rab rab oof");
@@ -685,7 +688,7 @@
QCBOREncode_AddBool(pECtx, true);
QCBOREncode_AddBool(pECtx, false);
QCBOREncode_OpenMap(pECtx);
- QCBOREncode_AddBoolToMap(pECtx, "George is the man", true);
+ QCBOREncode_AddBoolToMapSZ(pECtx, "George is the man", true);
QCBOREncode_AddBoolToMapN(pECtx, 010101, true);
QCBOREncode_CloseMap(pECtx);
@@ -1110,7 +1113,7 @@
QCBOREncode_OpenMap(&ECtx);
- QCBOREncode_AddUndefToMap(&ECtx, "UNDef");
+ QCBOREncode_AddUndefToMapSZ(&ECtx, "UNDef");
QCBOREncode_CloseMap(&ECtx);
QCBOREncode_CloseArray(&ECtx);
@@ -1372,32 +1375,32 @@
QCBOREncode_OpenMap(&ECtx);
// add array with 31 items
- QCBOREncode_OpenArrayInMap(&ECtx, "arr");
+ QCBOREncode_OpenArrayInMapSZ(&ECtx, "arr");
for (size_t ix = 0; ix < 31; ix++) {
QCBOREncode_AddInt64(&ECtx, (int64_t)ix);
}
QCBOREncode_CloseArray(&ECtx);
// add map with 31 items
- QCBOREncode_OpenMapInMap(&ECtx, "map");
+ QCBOREncode_OpenMapInMapSZ(&ECtx, "map");
for (int ix = 0; ix < 31; ix++) {
// make sure we have unique keys in the map (a-z then follow by A-Z)
int c = 'a';
if (ix < 26) c = c + ix;
else c = 'A' + (ix - 26);
char buffer[2] = { (char)c, 0 };
- QCBOREncode_AddInt64ToMap(&ECtx, buffer, ix);
+ QCBOREncode_AddInt64ToMapSZ(&ECtx, buffer, ix);
}
QCBOREncode_CloseMap(&ECtx);
// add -31 and +31
- QCBOREncode_AddInt64ToMap(&ECtx, "min31", -31);
- QCBOREncode_AddInt64ToMap(&ECtx, "plus31", 31);
+ QCBOREncode_AddInt64ToMapSZ(&ECtx, "min31", -31);
+ QCBOREncode_AddInt64ToMapSZ(&ECtx, "plus31", 31);
// add string with length 31
const char *str = "testtesttesttesttesttestqcbor11";
UsefulBufC str_b = { str, 31 };
- QCBOREncode_AddTextToMap(&ECtx, "str", str_b);
+ QCBOREncode_AddTextToMapSZ(&ECtx, "str", str_b);
QCBOREncode_CloseMap(&ECtx);
@@ -1476,9 +1479,10 @@
QCBOREncode_OpenMap(&ECtx);
- QCBOREncode_AddDateStringToMap(&ECtx,
- "Sample Date from RFC 3339",
- "1985-04-12T23:20:50.52Z");
+ QCBOREncode_AddTDateStringToMapSZ(&ECtx,
+ "Sample Date from RFC 3339",
+ QCBOR_ENCODE_AS_TAG,
+ "1985-04-12T23:20:50.52Z");
QCBOREncode_AddDateEpochToMap(&ECtx, "SD", 999);
QCBOREncode_AddTDaysStringToMapSZ(&ECtx,
"Sample Date from RFC 8943",
@@ -1718,16 +1722,16 @@
do {
QCBOREncode_Init(&ECtx, (UsefulBuf){*pEncoded, *pEncodedLen});
QCBOREncode_OpenMap(&ECtx);
- QCBOREncode_AddInt64ToMap(&ECtx, "first integer", 42);
- QCBOREncode_OpenArrayInMap(&ECtx, "an array of two strings");
+ QCBOREncode_AddInt64ToMapSZ(&ECtx, "first integer", 42);
+ QCBOREncode_OpenArrayInMapSZ(&ECtx, "an array of two strings");
QCBOREncode_AddText(&ECtx, ((UsefulBufC) {"string1", 7}));
QCBOREncode_AddText(&ECtx, ((UsefulBufC) {"string2", 7}));
QCBOREncode_CloseArray(&ECtx);
- QCBOREncode_OpenMapInMap(&ECtx, "map in a map");
+ QCBOREncode_OpenMapInMapSZ(&ECtx, "map in a map");
QCBOREncode_AddBytesToMap(&ECtx,"bytes 1", ((UsefulBufC) { "xxxx", 4}));
- QCBOREncode_AddBytesToMap(&ECtx, "bytes 2",((UsefulBufC) { "yyyy", 4}));
- QCBOREncode_AddInt64ToMap(&ECtx, "another int", 98);
- QCBOREncode_AddTextToMap(&ECtx, "text 2", ((UsefulBufC) {"lies, damn lies and statistics", 30}));
+ QCBOREncode_AddBytesToMapSZ(&ECtx, "bytes 2",((UsefulBufC) { "yyyy", 4}));
+ QCBOREncode_AddInt64ToMapSZ(&ECtx, "another int", 98);
+ QCBOREncode_AddTextToMapSZ(&ECtx, "text 2", ((UsefulBufC) {"lies, damn lies and statistics", 30}));
QCBOREncode_CloseMap(&ECtx);
QCBOREncode_CloseMap(&ECtx);
@@ -1864,10 +1868,10 @@
// The result: 0 if scan happened and found nothing; 1 if it happened and
// found something wrong; 2 if it didn't happen
- QCBOREncode_AddSimpleToMap(&ECtx, "integrity", uRResult);
+ QCBOREncode_AddSimpleToMapSZ(&ECtx, "integrity", uRResult);
// Add the diagnostic code
- QCBOREncode_AddSZStringToMap(&ECtx, "type", szType);
+ QCBOREncode_AddSZStringToMapSZ(&ECtx, "type", szType);
// Add a time stamp
if(time) {
@@ -1875,24 +1879,24 @@
}
// Add the diagnostic code
- QCBOREncode_AddSZStringToMap(&ECtx, "diag", szAlexString);
+ QCBOREncode_AddSZStringToMapSZ(&ECtx, "diag", szAlexString);
// Open a subordinate map for telemtry data
- QCBOREncode_OpenMapInMap(&ECtx, "telemetry");
+ QCBOREncode_OpenMapInMapSZ(&ECtx, "telemetry");
{ // Brace / indention just to show CBOR encoding nesting
// Add a few fake integers and buffers for now.
- QCBOREncode_AddInt64ToMap(&ECtx, "Shoe Size", 12);
+ QCBOREncode_AddInt64ToMapSZ(&ECtx, "Shoe Size", 12);
// Add a few fake integers and buffers for now.
- QCBOREncode_AddInt64ToMap(&ECtx, "IQ", 0xffffffff);
+ QCBOREncode_AddInt64ToMapSZ(&ECtx, "IQ", 0xffffffff);
// Add a few fake integers and buffers for now.
static const uint8_t pPV[] = {0x66, 0x67, 0x00, 0x56, 0xaa, 0xbb, 0x01, 0x01};
const UsefulBufC WSPV = {pPV, sizeof(pPV)};
- QCBOREncode_AddBytesToMap(&ECtx, "WhaleSharkPatternVector", WSPV);
+ QCBOREncode_AddBytesToMapSZ(&ECtx, "WhaleSharkPatternVector", WSPV);
}
}
@@ -3153,12 +3157,12 @@
QCBOREncode_AddTDecimalFraction(&EC, QCBOR_ENCODE_AS_BORROWED, 4, -1); // 3 * (10 ^ -1)
QCBOREncode_AddDecimalFractionBigNum(&EC, BigNum , false, -20);
QCBOREncode_AddTDecimalFractionBigNum(&EC, QCBOR_ENCODE_AS_BORROWED, BigNum , false, 2);
- QCBOREncode_AddDecimalFractionBigNum(&EC, BigNum, true, INT64_MAX);
+ QCBOREncode_AddTDecimalFractionBigNum(&EC, QCBOR_ENCODE_AS_TAG, BigNum, true, INT64_MAX);
QCBOREncode_AddBigFloat(&EC, 100, 300);
QCBOREncode_AddTBigFloat(&EC, QCBOR_ENCODE_AS_BORROWED, 200, 600);
QCBOREncode_AddBigFloatBigNum(&EC, BigNum, false, -20);
QCBOREncode_AddTBigFloatBigNum(&EC, QCBOR_ENCODE_AS_BORROWED, BigNum, false, 4);
- QCBOREncode_AddBigFloatBigNum(&EC, BigNum, true, INT64_MIN);
+ QCBOREncode_AddTBigFloatBigNum(&EC, QCBOR_ENCODE_AS_TAG, BigNum, true, INT64_MIN);
QCBOREncode_CloseArray(&EC);
if(QCBOREncode_Finish(&EC, &EncodedExponentAndMantissa)) {
@@ -3193,17 +3197,19 @@
false,
INT32_MAX);
- QCBOREncode_AddDecimalFractionBigNumToMapSZ(&EC,
- "decimal fraction bignum negative",
- BigNum,
- true,
- INT64_MAX);
+ QCBOREncode_AddTDecimalFractionBigNumToMapSZ(&EC,
+ "decimal fraction bignum negative",
+ QCBOR_ENCODE_AS_TAG,
+ BigNum,
+ true,
+ INT64_MAX);
- QCBOREncode_AddDecimalFractionBigNumToMapN(&EC,
- 500,
- BigNum,
- true,
- INT64_MAX);
+ QCBOREncode_AddTDecimalFractionBigNumToMapN(&EC,
+ 500,
+ QCBOR_ENCODE_AS_TAG,
+ BigNum,
+ true,
+ INT64_MAX);
QCBOREncode_AddBigFloatToMap(&EC, "big float", 100, 300);
@@ -3221,17 +3227,19 @@
false,
-20);
- QCBOREncode_AddBigFloatBigNumToMap(&EC,
- "big float bignum negative",
- BigNum,
- true,
- INT64_MIN);
+ QCBOREncode_AddTBigFloatBigNumToMapSZ(&EC,
+ "big float bignum negative",
+ QCBOR_ENCODE_AS_TAG,
+ BigNum,
+ true,
+ INT64_MIN);
- QCBOREncode_AddBigFloatBigNumToMapN(&EC,
- 800,
- BigNum,
- true,
- INT64_MIN);
+ QCBOREncode_AddTBigFloatBigNumToMapN(&EC,
+ 800,
+ QCBOR_ENCODE_AS_TAG,
+ BigNum,
+ true,
+ INT64_MIN);
QCBOREncode_CloseMap(&EC);