summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
37bb2b1)
This patch changes `enum parse_orig_arg_opt_ret` to add
* `PARSE_ORIG_ARG_OPT_RET_ERROR_MISSING_OPT_ARG`
* `PARSE_ORIG_ARG_OPT_RET_ERROR_INVALID_OPT`
* `PARSE_ORIG_ARG_OPT_RET_ERROR_UNEXPECTED_OPT_ARG`
* `PARSE_ORIG_ARG_OPT_RET_ERROR_MEMORY`
and remove the general `PARSE_ORIG_ARG_OPT_RET_ERROR`.
No functional changes intended.
This will make it easier to switch to rich error reporting instead of
a formatted error string.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Change-Id: I2e68bea8b14ea1c0b16433df0cb8c01c1252283d
enum parse_orig_arg_opt_ret {
PARSE_ORIG_ARG_OPT_RET_OK,
enum parse_orig_arg_opt_ret {
PARSE_ORIG_ARG_OPT_RET_OK,
- PARSE_ORIG_ARG_OPT_RET_ERROR_UNKNOWN_OPT = -2,
- PARSE_ORIG_ARG_OPT_RET_ERROR = -1,
+ PARSE_ORIG_ARG_OPT_RET_ERROR_UNKNOWN_OPT = -1,
+ PARSE_ORIG_ARG_OPT_RET_ERROR_MISSING_OPT_ARG = -2,
+ PARSE_ORIG_ARG_OPT_RET_ERROR_INVALID_OPT = -3,
+ PARSE_ORIG_ARG_OPT_RET_ERROR_UNEXPECTED_OPT_ARG = -4,
+ PARSE_ORIG_ARG_OPT_RET_ERROR_MEMORY = -5,
if (strlen(short_opts) == 0) {
try_append_string_printf(error, "Invalid argument");
if (strlen(short_opts) == 0) {
try_append_string_printf(error, "Invalid argument");
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_INVALID_OPT;
/* Find corresponding option descriptor */
descr = find_descr(descrs, *iter->short_opt_ch, NULL);
if (!descr) {
/* Find corresponding option descriptor */
descr = find_descr(descrs, *iter->short_opt_ch, NULL);
if (!descr) {
- ret = PARSE_ORIG_ARG_OPT_RET_ERROR_UNKNOWN_OPT;
try_append_string_printf(error, "Unknown option `-%c`",
*iter->short_opt_ch);
try_append_string_printf(error, "Unknown option `-%c`",
*iter->short_opt_ch);
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_UNKNOWN_OPT;
"Missing required argument for option `-%c`",
*iter->short_opt_ch);
used_next_orig_arg = false;
"Missing required argument for option `-%c`",
*iter->short_opt_ch);
used_next_orig_arg = false;
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_MISSING_OPT_ARG;
/* Create and append option argument */
opt_item = create_opt_item(descr, opt_arg);
if (!opt_item) {
/* Create and append option argument */
opt_item = create_opt_item(descr, opt_arg);
if (!opt_item) {
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_MEMORY;
- if (ret == PARSE_ORIG_ARG_OPT_RET_OK) {
- ret = PARSE_ORIG_ARG_OPT_RET_ERROR;
- }
+ ARGPAR_ASSERT(ret != PARSE_ORIG_ARG_OPT_RET_OK);
if (strlen(long_opt_arg) == 0) {
try_append_string_printf(error, "Invalid argument");
if (strlen(long_opt_arg) == 0) {
try_append_string_printf(error, "Invalid argument");
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_INVALID_OPT;
if (long_opt_name_size > max_len) {
try_append_string_printf(error,
"Invalid argument `--%s`", long_opt_arg);
if (long_opt_name_size > max_len) {
try_append_string_printf(error,
"Invalid argument `--%s`", long_opt_arg);
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_INVALID_OPT;
try_append_string_printf(error,
"Missing required argument for option `--%s`",
long_opt_name);
try_append_string_printf(error,
"Missing required argument for option `--%s`",
long_opt_name);
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_MISSING_OPT_ARG;
*/
try_append_string_printf(error,
"Unexpected argument for option `--%s`", long_opt_name);
*/
try_append_string_printf(error,
"Unexpected argument for option `--%s`", long_opt_name);
+ ret = PARSE_ORIG_ARG_OPT_RET_ERROR_UNEXPECTED_OPT_ARG;
- if (ret == PARSE_ORIG_ARG_OPT_RET_OK) {
- ret = PARSE_ORIG_ARG_OPT_RET_ERROR;
- }
+ ARGPAR_ASSERT(ret != PARSE_ORIG_ARG_OPT_RET_OK);
orig_arg);
status = ARGPAR_ITER_PARSE_NEXT_STATUS_ERROR_UNKNOWN_OPT;
break;
orig_arg);
status = ARGPAR_ITER_PARSE_NEXT_STATUS_ERROR_UNKNOWN_OPT;
break;
- case PARSE_ORIG_ARG_OPT_RET_ERROR:
+ case PARSE_ORIG_ARG_OPT_RET_ERROR_MISSING_OPT_ARG:
+ case PARSE_ORIG_ARG_OPT_RET_ERROR_INVALID_OPT:
+ case PARSE_ORIG_ARG_OPT_RET_ERROR_UNEXPECTED_OPT_ARG:
+ case PARSE_ORIG_ARG_OPT_RET_ERROR_MEMORY:
try_prepend_while_parsing_arg_to_error(error, iter->i,
orig_arg);
status = ARGPAR_ITER_PARSE_NEXT_STATUS_ERROR;
try_prepend_while_parsing_arg_to_error(error, iter->i,
orig_arg);
status = ARGPAR_ITER_PARSE_NEXT_STATUS_ERROR;