version 1.4, 2009/02/23 15:38:20 |
version 1.6, 2009/03/08 11:41:22 |
|
|
u_long bufsz; /* Input buffer size. */ |
u_long bufsz; /* Input buffer size. */ |
char *in; /* Input file name. */ |
char *in; /* Input file name. */ |
int fdin; /* Input file desc. */ |
int fdin; /* Input file desc. */ |
|
int pflags; /* Parse flags. */ |
}; |
}; |
|
|
extern char *__progname; |
extern char *__progname; |
|
|
static int getsopts(struct mmain *, char *); |
static int optswarn(struct mmain *, char *); |
|
static int optsopt(struct mmain *, char *); |
static int parse(struct mmain *); |
static int parse(struct mmain *); |
static void msg_msg(void *, int, int, const char *); |
static void msg_msg(void *, int, int, const char *); |
static int msg_err(void *, int, int, const char *); |
static int msg_err(void *, int, int, const char *); |
Line 109 mmain_getopt(struct mmain *p, int argc, char *argv[], |
|
Line 111 mmain_getopt(struct mmain *p, int argc, char *argv[], |
|
|
|
extern int optind; |
extern int optind; |
|
|
sz = strlcpy(opts, "vW:", 32); |
sz = strlcpy(opts, "VvW:f:", 32); |
assert(sz < 32); |
assert(sz < 32); |
|
|
if (u) { |
if (u) { |
Line 122 mmain_getopt(struct mmain *p, int argc, char *argv[], |
|
Line 124 mmain_getopt(struct mmain *p, int argc, char *argv[], |
|
/* LINTED */ |
/* LINTED */ |
while (-1 != (c = getopt(argc, argv, opts))) |
while (-1 != (c = getopt(argc, argv, opts))) |
switch (c) { |
switch (c) { |
|
case ('f'): |
|
if ( ! optsopt(p, optarg)) |
|
return(-1); |
|
break; |
case ('v'): |
case ('v'): |
p->dbg++; |
p->dbg++; |
break; |
break; |
|
case ('V'): |
|
(void)printf("%s %s\n", __progname, VERSION); |
|
return(0); |
case ('W'): |
case ('W'): |
if ( ! getsopts(p, optarg)) |
if ( ! optswarn(p, optarg)) |
return(0); |
return(-1); |
break; |
break; |
case ('?'): |
case ('?'): |
mmain_usage(help); |
mmain_usage(help); |
return(0); |
return(-1); |
default: |
default: |
assert(getopt_cb); |
assert(getopt_cb); |
if ((*getopt_cb)(arg, c, optarg)) |
if ((*getopt_cb)(arg, c, optarg)) |
break; |
break; |
return(0); |
return(-1); |
} |
} |
|
|
argv += optind; |
argv += optind; |
Line 205 mmain_mdoc(struct mmain *p) |
|
Line 214 mmain_mdoc(struct mmain *p) |
|
|
|
|
|
static int |
static int |
getsopts(struct mmain *p, char *arg) |
optsopt(struct mmain *p, char *arg) |
|
{ |
|
char *v; |
|
char *toks[] = { "ignore-scope", NULL }; |
|
|
|
while (*arg) |
|
switch (getsubopt(&arg, toks, &v)) { |
|
case (0): |
|
p->pflags |= MDOC_IGN_SCOPE; |
|
break; |
|
default: |
|
return(0); |
|
} |
|
|
|
return(1); |
|
} |
|
|
|
|
|
static int |
|
optswarn(struct mmain *p, char *arg) |
{ |
{ |
char *v; |
char *v; |
char *toks[] = { "all", "compat", |
char *toks[] = { "all", "compat", |