diff options
Diffstat (limited to 'usr/src/common/cmdparse/cmdparse.c')
-rw-r--r-- | usr/src/common/cmdparse/cmdparse.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/usr/src/common/cmdparse/cmdparse.c b/usr/src/common/cmdparse/cmdparse.c index a773311033..7a9e575d71 100644 --- a/usr/src/common/cmdparse/cmdparse.c +++ b/usr/src/common/cmdparse/cmdparse.c @@ -536,7 +536,16 @@ cmdParse(int argc, char *argv[], synTables_t synTable, void *callArgs, switch (opt) { case '?': subUsage(DETAIL_USAGE, subcommand); - exit(0); + /* + * getopt can return a '?' when no + * option letters match string. Check for + * the 'real' '?' in optopt. + */ + if (optopt == '?') { + exit(0); + } else { + exit(1); + } default: cmdOptions[i].optval = opt; if (optarg) { |