First version of disabling indefinite length array decoding
diff --git a/src/qcbor_decode.c b/src/qcbor_decode.c
index 585a517..6e41c52 100644
--- a/src/qcbor_decode.c
+++ b/src/qcbor_decode.c
@@ -76,6 +76,7 @@
 static inline bool
 QCBORItem_IsIndefiniteLengthMapOrArray(const QCBORItem *pMe)
 {
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
    if(!QCBORItem_IsMapOrArray(pMe)){
       return false;
    }
@@ -84,6 +85,10 @@
       return false;
    }
    return true;
+#else /* QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS */
+   (void)pMe;
+   return false;
+#endif /* QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS */
 }
 
 
@@ -157,15 +162,19 @@
       // Not a map or array
       return false;
    }
+
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
    if(pNesting->pCurrent->u.ma.uCountTotal == QCBOR_COUNT_INDICATES_INDEFINITE_LENGTH) {
       // Is indefinite
       return false;
    }
+#endif
+   
    // All checks passed; is a definte length map or array
    return true;
 }
 
-
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
 static inline bool
 DecodeNesting_IsCurrentBstrWrapped(const QCBORDecodeNesting *pNesting)
 {
@@ -175,6 +184,7 @@
    }
    return false;
 }
+#endif /* QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS */
 
 
 static inline bool DecodeNesting_IsCurrentBounded(const QCBORDecodeNesting *pNesting)
@@ -998,7 +1008,12 @@
             goto Done;
          }
          if(nAdditionalInfo == LEN_IS_INDEFINITE) {
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
             pDecodedItem->val.uCount = QCBOR_COUNT_INDICATES_INDEFINITE_LENGTH;
+#else
+            nReturn = QCBOR_ERR_INDEF_LEN_ARRAYS_DISABLED;
+            break;
+#endif
          } else {
             // type conversion OK because of check above
             pDecodedItem->val.uCount = (uint16_t)uNumber;
@@ -1399,6 +1414,7 @@
 }
 
 
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
 /*
  See if next item is a CBOR break. If it is, it is consumed,
  if not it is not consumed.
@@ -1424,6 +1440,7 @@
 
    return QCBOR_SUCCESS;
 }
+#endif /* QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS */
 
 
 /*
@@ -1447,8 +1464,10 @@
           }
           /* All of a definite length array was consumed; fall through to
              ascend */
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
 
       } else {
+
          /* If not definite length, have to check for a CBOR break */
          bool bIsBreak = false;
          uReturn = NextIsBreak(&(pMe->InBuf), &bIsBreak);
@@ -1471,10 +1490,12 @@
             uReturn = QCBOR_ERR_BAD_BREAK;
             goto Done;
          }
-
          /* It was a break in an indefinite length map / array */
+
+#endif
       }
 
+
       /* All items in the map/array level have been consumed. */
 
       /* But ascent in bounded mode is only by explicit call to
@@ -1496,7 +1517,10 @@
 
    uReturn = QCBOR_SUCCESS;
 
+#ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS
 Done:
+#endif /* #ifndef QCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS */
+
    return uReturn;
 }