@@ -61,7 +61,11 @@ ARGUS_API char *format_choices_validator(validator_data_t data);
6161/*
6262 * Optional option fields macros
6363 */
64- #define DEBUG_INFO () .line = __LINE__, .file = __FILE__
64+ #ifdef ARGUS_DEBUG
65+ # define ARGUS_DEBUG_INFO () .line = 0, .file = NULL
66+ #else
67+ # define ARGUS_DEBUG_INFO () .line = __LINE__, .file = __FILE__
68+ #endif /* ARGUS_DEBUG */
6569#define DEFINE_NAME (lname , sname ) ((lname) ? (lname) : CHAR_TO_STRING(sname))
6670#define DEFAULT (val ) .value = (argus_value_t){ .raw = (uintptr_t)(val) }, \
6771 .default_value = (argus_value_t){ .raw = (uintptr_t)(val) }, \
@@ -134,30 +138,30 @@ ARGUS_API char *format_choices_validator(validator_data_t data);
134138 .type = TYPE_NONE, \
135139 .name = NULL, \
136140 .value_type = VALUE_TYPE_NONE, \
137- DEBUG_INFO () \
141+ ARGUS_DEBUG_INFO () \
138142}
139143
140144#define OPTION_BASE (_short , _long , _value_type , ...) \
141145 (argus_option_t) { \
142146 .type = TYPE_OPTION, .name = DEFINE_NAME(_long, _short), \
143147 .sname = _short, .lname = _long, .value_type = _value_type, \
144- .free_handler = default_free, DEBUG_INFO (), ##__VA_ARGS__ \
148+ .free_handler = default_free, ARGUS_DEBUG_INFO (), ##__VA_ARGS__ \
145149 }
146150
147151#define POSITIONAL_BASE (_name , _value_type , ...) \
148152 (argus_option_t) { \
149153 .type = TYPE_POSITIONAL, .name = _name, .value_type = _value_type, \
150- .free_handler = default_free, .flags = FLAG_REQUIRED, DEBUG_INFO (), ##__VA_ARGS__ \
154+ .free_handler = default_free, .flags = FLAG_REQUIRED, ARGUS_DEBUG_INFO (), ##__VA_ARGS__ \
151155 }
152156
153157#define GROUP_BASE (_name , ...) \
154158 (argus_option_t) { \
155- .type = TYPE_GROUP, .name = _name, DEBUG_INFO (), ##__VA_ARGS__ \
159+ .type = TYPE_GROUP, .name = _name, ARGUS_DEBUG_INFO (), ##__VA_ARGS__ \
156160 }
157161
158162#define SUBCOMMAND_BASE (_name , sub_opts , ...) \
159163 (argus_option_t) { \
160- .type = TYPE_SUBCOMMAND, .name = _name, .sub_options = sub_opts, DEBUG_INFO (), ##__VA_ARGS__ \
164+ .type = TYPE_SUBCOMMAND, .name = _name, .sub_options = sub_opts, ARGUS_DEBUG_INFO (), ##__VA_ARGS__ \
161165 }
162166
163167// clang-format on
0 commit comments