diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-11-05 21:11:23 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-11-05 21:11:23 +0100 |
commit | 46f8a466a19cd36108e8fa33950678b3d85aee63 (patch) | |
tree | 2c90bfb3f2a704c9f8a0159a84eaaee02bb7c00d /src/libopts/find.c | |
parent | 2a2df234e768c88ed931032cc2baf83fdb6e3fb1 (diff) | |
download | gnutls-46f8a466a19cd36108e8fa33950678b3d85aee63.tar.gz |
updated libopts to 5.18
Diffstat (limited to 'src/libopts/find.c')
-rw-r--r-- | src/libopts/find.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libopts/find.c b/src/libopts/find.c index e3534291d1..1ba504ebc3 100644 --- a/src/libopts/find.c +++ b/src/libopts/find.c @@ -107,6 +107,9 @@ opt_ambiguities(tOptions * opts, char const * name, int nm_len) fputs(zambig_list_msg, stderr); do { + if (pOD->pz_Name == NULL) + continue; /* doc option */ + if (strneqvcmp(name, pOD->pz_Name, nm_len) == 0) fprintf(stderr, zambig_file, hyph, pOD->pz_Name); @@ -375,7 +378,10 @@ opt_find_long(tOptions * opts, char const * opt_name, tOptState * state) bool disable = false; int ct; - if (nm_len <= 0) { + if (nm_len <= 1) { + if ((opts->fOptSet & OPTPROC_ERRSTOP) == 0) + return FAILURE; + fprintf(stderr, zInvalOptName, opts->pzProgName, opt_name); (*opts->pUsageProc)(opts, EXIT_FAILURE); /* NOTREACHED */ @@ -418,6 +424,9 @@ opt_find_short(tOptions* pOpts, uint_t optValue, tOptState* pOptState) if (SKIP_OPT(pRes)) { if ( (pRes->fOptState == (OPTST_OMITTED | OPTST_NO_INIT)) && (pRes->pz_Name != NULL)) { + if ((pOpts->fOptSet & OPTPROC_ERRSTOP) == 0) + return FAILURE; + fprintf(stderr, zDisabledErr, pOpts->pzProgPath, pRes->pz_Name); if (pRes->pzText != NULL) fprintf(stderr, SET_OFF_FMT, pRes->pzText); @@ -500,7 +509,7 @@ get_opt_arg_must(tOptions * opts, tOptState * o_st) default: #ifdef DEBUG fputs("AutoOpts lib error: option type not selected\n", stderr); - exit(EXIT_FAILURE); + option_exits(EXIT_FAILURE); #endif case TOPT_DEFAULT: |