entering maps and arrays returns the map / array item
diff --git a/src/qcbor_decode.c b/src/qcbor_decode.c
index 029e4e5..aee1581 100644
--- a/src/qcbor_decode.c
+++ b/src/qcbor_decode.c
@@ -2975,7 +2975,7 @@
DecodeNesting_SetCurrentToBoundedLevel(&(pMe->nesting));
- QCBORDecode_EnterBoundedMapOrArray(pMe, pSearch->uDataType);
+ QCBORDecode_EnterBoundedMapOrArray(pMe, pSearch->uDataType, NULL);
}
@@ -3039,7 +3039,7 @@
// Semi-private function
-void QCBORDecode_EnterBoundedMapOrArray(QCBORDecodeContext *pMe, uint8_t uType)
+void QCBORDecode_EnterBoundedMapOrArray(QCBORDecodeContext *pMe, uint8_t uType, QCBORItem *pItem)
{
QCBORError uErr;
@@ -3080,6 +3080,10 @@
uErr = DecodeNesting_EnterBoundedMapOrArray(&(pMe->nesting), bIsEmpty,
UsefulInputBuf_Tell(&(pMe->InBuf)));
+ if(pItem != NULL) {
+ *pItem = Item;
+ }
+
Done:
pMe->uLastError = (uint8_t)uErr;
}