diff options
Diffstat (limited to 'lib/librpc/etc/getopt.c')
-rw-r--r-- | lib/librpc/etc/getopt.c | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/lib/librpc/etc/getopt.c b/lib/librpc/etc/getopt.c deleted file mode 100644 index 7296b05..0000000 --- a/lib/librpc/etc/getopt.c +++ /dev/null @@ -1,75 +0,0 @@ -/* @(#)getopt.c 2.1 88/08/01 4.0 RPCSRC */ - -/* this is a public domain version of getopt */ - -/*LINTLIBRARY*/ -#ifndef NULL -#define NULL 0 -#endif NULL -#ifndef EOF -#define EOF (-1) -#endif EOF - -#define ERR(s, c) if(opterr){\ - extern int strlen(), write();\ - char errbuf[2];\ - errbuf[0] = c; errbuf[1] = '\n';\ - (void) write(2, argv[0], strlen(argv[0]));\ - (void) write(2, s, strlen(s));\ - (void) write(2, errbuf, 2);} - -#define strchr index - -extern int strcmp(); -extern char *strchr(); - -int opterr = 1; -int optind = 1; -int optopt; -char *optarg; - -int -getopt(argc, argv, opts) -int argc; -char **argv, *opts; -{ - static int sp = 1; - register int c; - register char *cp; - - if(sp == 1) - if(optind >= argc || - argv[optind][0] != '-' || argv[optind][1] == '\0') - return(EOF); - else if(strcmp(argv[optind], "--") == NULL) { - optind++; - return(EOF); - } - optopt = c = argv[optind][sp]; - if(c == ':' || (cp=strchr(opts, c)) == NULL) { - ERR(": unknown option, -", c); - if(argv[optind][++sp] == '\0') { - optind++; - sp = 1; - } - return('?'); - } - if(*++cp == ':') { - if(argv[optind][sp+1] != '\0') - optarg = &argv[optind++][sp+1]; - else if(++optind >= argc) { - ERR(": argument missing for -", c); - sp = 1; - return('?'); - } else - optarg = argv[optind++]; - sp = 1; - } else { - if(argv[optind][++sp] == '\0') { - sp = 1; - optind++; - } - optarg = NULL; - } - return(c); -} |