diff options
author | midipix <writeonce@midipix.org> | 2016-08-01 12:04:02 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-08-01 12:06:34 -0400 |
commit | c00b4c88f9018ebd5cf369908cc07455e67c1b00 (patch) | |
tree | d5aa1c9d9fb828c25d4f66f5293e43cce3cd2a08 /src | |
parent | d8cffac6a078a9417903b9b717677bb101642259 (diff) | |
download | apimagic-c00b4c88f9018ebd5cf369908cc07455e67c1b00.tar.bz2 apimagic-c00b4c88f9018ebd5cf369908cc07455e67c1b00.tar.xz |
argv.h: error message formatting: handle lonely long options.
Diffstat (limited to 'src')
-rw-r--r-- | src/internal/argv/argv.h | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/internal/argv/argv.h b/src/internal/argv/argv.h index 422d059..fec0729 100644 --- a/src/internal/argv/argv.h +++ b/src/internal/argv/argv.h @@ -497,6 +497,11 @@ static const char * argv_program_name(const char * program_path) static void argv_show_error(struct argv_ctx * ctx) { + char opt_short_name[2] = {0,0}; + + if (ctx->erropt && ctx->erropt->short_name) + opt_short_name[0] = ctx->erropt->short_name; + fprintf(stderr,"%s: error: ",ctx->program); switch (ctx->errcode) { @@ -509,21 +514,21 @@ static void argv_show_error(struct argv_ctx * ctx) break; case ARGV_ERROR_OPTARG_NONE: - fprintf(stderr,"'%s' is not a valid option value for [%s%c%s%s%s] " + fprintf(stderr,"'%s' is not a valid option value for [%s%s%s%s%s] " "(option values may not be specified)\n", ctx->errch, - ctx->erropt->short_name ? "-" : "", - ctx->erropt->short_name, - ctx->erropt->short_name ? "," : "", + opt_short_name[0] ? "-" : "", + opt_short_name, + opt_short_name[0] ? "," : "", ctx->erropt->long_name ? "--" : "", ctx->erropt->long_name); break; case ARGV_ERROR_OPTARG_REQUIRED: - fprintf(stderr,"option [%s%c%s%s%s] requires %s %s%s%s\n", - ctx->erropt->short_name ? "-" : "", - ctx->erropt->short_name, - ctx->erropt->short_name ? "," : "", + fprintf(stderr,"option [%s%s%s%s%s] requires %s %s%s%s\n", + opt_short_name[0] ? "-" : "", + opt_short_name, + opt_short_name[0] ? "," : "", ctx->erropt->long_name ? "--" : "", ctx->erropt->long_name, ctx->erropt->paradigm ? "one of the following values:" : "a value", @@ -533,11 +538,11 @@ static void argv_show_error(struct argv_ctx * ctx) break; case ARGV_ERROR_OPTARG_PARADIGM: - fprintf(stderr,"'%s' is not a valid option value for [%s%c%s%s%s]={%s}\n", + fprintf(stderr,"'%s' is not a valid option value for [%s%s%s%s%s]={%s}\n", ctx->errch, - ctx->erropt->short_name ? "-" : "", - ctx->erropt->short_name, - ctx->erropt->short_name ? "," : "", + opt_short_name[0] ? "-" : "", + opt_short_name, + opt_short_name[0] ? "," : "", ctx->erropt->long_name ? "--" : "", ctx->erropt->long_name, ctx->erropt->paradigm); |