Force usage of assert() condition when NDEBUG is defined
[lttng-tools.git] / src / common / argpar / argpar.c
index bf19808c54715657330d926268a3f04dd17a350c..21edec0ab7a85b23c26ab38ee2956c00450a1626 100644 (file)
@@ -4,7 +4,6 @@
  * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
  */
 
-#include <assert.h>
 #include <stdarg.h>
 #include <stdbool.h>
 #include <stdio.h>
@@ -17,7 +16,7 @@
 #define argpar_calloc(_type, _nmemb) ((_type *) calloc((_nmemb), sizeof(_type)))
 #define argpar_zalloc(_type) argpar_calloc(_type, 1)
 
-#define ARGPAR_ASSERT(_cond) assert(_cond)
+#define ARGPAR_ASSERT(_cond)  ((void) sizeof((void) (_cond), 0))
 
 #ifdef __MINGW_PRINTF_FORMAT
 # define ARGPAR_PRINTF_FORMAT __MINGW_PRINTF_FORMAT
@@ -477,6 +476,15 @@ enum parse_orig_arg_opt_ret parse_long_opt(const char * const long_opt_arg,
                        opt_arg = next_orig_arg;
                        used_next_orig_arg = true;
                }
+       } else if (eq_pos) {
+               /*
+                * Unexpected `--opt=arg` style for a long option which
+                * doesn't accept an argument.
+                */
+               argpar_string_append_printf(error,
+                       "Unexpected argument for option `--%s`",
+                       long_opt_name);
+               goto error;
        }
 
        /* Create and append option argument */
This page took 0.025486 seconds and 4 git commands to generate.