Browse Source

Portablelize new getopt.c so it should work where err.h is missing

ahc_fix_select
tbullock@comlore.com 13 years ago
parent
commit
6f6e523bf9
1 changed files with 18 additions and 12 deletions
  1. +18
    -12
      httperf/src/lib/getopt.c

+ 18
- 12
httperf/src/lib/getopt.c View File

@@ -25,7 +25,7 @@
* by Dieter Baron and Thomas Klausner.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* MODIFICATION, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
@@ -46,9 +46,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*/

#include <err.h>
#include <errno.h>
#include "getopt.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

@@ -195,8 +195,9 @@ parse_long_options(char * const *nargv, const char *options,
else {
/* ambiguous abbreviation */
if (PRINT_ERROR)
warnx(ambig, (int)current_argv_len,
current_argv);
fprintf(stderr, "ambiguous option -- %.*s\n"
, (int)current_argv_len,
current_argv);
optopt = 0;
return (BADCH);
}
@@ -205,8 +206,10 @@ parse_long_options(char * const *nargv, const char *options,
if (long_options[match].has_arg == no_argument
&& has_equal) {
if (PRINT_ERROR)
warnx(noarg, (int)current_argv_len,
current_argv);
fprintf(stderr, "option doesn't take an "
"argument -- %.*s\n",
(int)current_argv_len,
current_argv);
/*
* XXX: GNU sets optopt to val regardless of flag
*/
@@ -235,8 +238,9 @@ parse_long_options(char * const *nargv, const char *options,
* should be generated.
*/
if (PRINT_ERROR)
warnx(recargstring,
current_argv);
fprintf(stderr, "option requires an argument "
"-- %s\n",
current_argv);
/*
* XXX: GNU sets optopt to val regardless of flag
*/
@@ -253,7 +257,7 @@ parse_long_options(char * const *nargv, const char *options,
return (-1);
}
if (PRINT_ERROR)
warnx(illoptstring, current_argv);
fprintf(stderr, "unknown option -- %s\n", current_argv);
optopt = 0;
return (BADCH);
}
@@ -415,7 +419,7 @@ start:
if (!*place)
++optind;
if (PRINT_ERROR)
warnx(illoptchar, optchar);
fprintf(stderr, "unknown option -- %c\n", optchar);
optopt = optchar;
return (BADCH);
}
@@ -426,7 +430,8 @@ start:
else if (++optind >= nargc) { /* no arg */
place = EMSG;
if (PRINT_ERROR)
warnx(recargchar, optchar);
fprintf(stderr, "option requires an argument"
" -- %c\n", optchar);
optopt = optchar;
return (BADARG);
} else /* white space */
@@ -447,7 +452,8 @@ start:
if (++optind >= nargc) { /* no arg */
place = EMSG;
if (PRINT_ERROR)
warnx(recargchar, optchar);
fprintf(stderr, "option requires an "
"argument -- %c\n", optchar);
optopt = optchar;
return (BADARG);
} else


Loading…
Cancel
Save