version 1.23, 2010/04/13 06:52:12 |
version 1.24, 2010/05/13 20:34:29 |
|
|
#define FL_IGN_SCOPE (1 << 0) /* Ignore scope errors. */ |
#define FL_IGN_SCOPE (1 << 0) /* Ignore scope errors. */ |
#define FL_NIGN_ESCAPE (1 << 1) /* Don't ignore bad escapes. */ |
#define FL_NIGN_ESCAPE (1 << 1) /* Don't ignore bad escapes. */ |
#define FL_NIGN_MACRO (1 << 2) /* Don't ignore bad macros. */ |
#define FL_NIGN_MACRO (1 << 2) /* Don't ignore bad macros. */ |
#define FL_NIGN_CHARS (1 << 3) /* Don't ignore bad chars. */ |
|
#define FL_IGN_ERRORS (1 << 4) /* Ignore failed parse. */ |
#define FL_IGN_ERRORS (1 << 4) /* Ignore failed parse. */ |
enum intt inttype; /* Input parsers... */ |
enum intt inttype; /* Input parsers... */ |
struct man *man; |
struct man *man; |
|
|
}; |
}; |
|
|
#define FL_STRICT FL_NIGN_ESCAPE | \ |
#define FL_STRICT FL_NIGN_ESCAPE | \ |
FL_NIGN_MACRO | \ |
FL_NIGN_MACRO |
FL_NIGN_CHARS |
|
|
|
static int foptions(int *, char *); |
static int foptions(int *, char *); |
static int toptions(struct curparse *, char *); |
static int toptions(struct curparse *, char *); |
|
|
|
|
/* Defaults from mandoc.1. */ |
/* Defaults from mandoc.1. */ |
|
|
pflags = MAN_IGN_MACRO | MAN_IGN_ESCAPE | MAN_IGN_CHARS; |
pflags = MAN_IGN_MACRO | MAN_IGN_ESCAPE; |
|
|
if (curp->fflags & FL_NIGN_MACRO) |
if (curp->fflags & FL_NIGN_MACRO) |
pflags &= ~MAN_IGN_MACRO; |
pflags &= ~MAN_IGN_MACRO; |
if (curp->fflags & FL_NIGN_CHARS) |
|
pflags &= ~MAN_IGN_CHARS; |
|
if (curp->fflags & FL_NIGN_ESCAPE) |
if (curp->fflags & FL_NIGN_ESCAPE) |
pflags &= ~MAN_IGN_ESCAPE; |
pflags &= ~MAN_IGN_ESCAPE; |
|
|
|
|
|
|
/* Defaults from mandoc.1. */ |
/* Defaults from mandoc.1. */ |
|
|
pflags = MDOC_IGN_MACRO | MDOC_IGN_ESCAPE | MDOC_IGN_CHARS; |
pflags = MDOC_IGN_MACRO | MDOC_IGN_ESCAPE; |
|
|
if (curp->fflags & FL_IGN_SCOPE) |
if (curp->fflags & FL_IGN_SCOPE) |
pflags |= MDOC_IGN_SCOPE; |
pflags |= MDOC_IGN_SCOPE; |
|
|
pflags &= ~MDOC_IGN_ESCAPE; |
pflags &= ~MDOC_IGN_ESCAPE; |
if (curp->fflags & FL_NIGN_MACRO) |
if (curp->fflags & FL_NIGN_MACRO) |
pflags &= ~MDOC_IGN_MACRO; |
pflags &= ~MDOC_IGN_MACRO; |
if (curp->fflags & FL_NIGN_CHARS) |
|
pflags &= ~MDOC_IGN_CHARS; |
|
|
|
return(mdoc_alloc(curp, pflags, &mdoccb)); |
return(mdoc_alloc(curp, pflags, &mdoccb)); |
} |
} |
|
|
toks[0] = "ign-scope"; |
toks[0] = "ign-scope"; |
toks[1] = "no-ign-escape"; |
toks[1] = "no-ign-escape"; |
toks[2] = "no-ign-macro"; |
toks[2] = "no-ign-macro"; |
toks[3] = "no-ign-chars"; |
toks[3] = "ign-errors"; |
toks[4] = "ign-errors"; |
toks[4] = "strict"; |
toks[5] = "strict"; |
toks[5] = "ign-escape"; |
toks[6] = "ign-escape"; |
toks[6] = NULL; |
toks[7] = NULL; |
|
|
|
while (*arg) { |
while (*arg) { |
o = arg; |
o = arg; |
|
|
*fflags |= FL_NIGN_MACRO; |
*fflags |= FL_NIGN_MACRO; |
break; |
break; |
case (3): |
case (3): |
*fflags |= FL_NIGN_CHARS; |
|
break; |
|
case (4): |
|
*fflags |= FL_IGN_ERRORS; |
*fflags |= FL_IGN_ERRORS; |
break; |
break; |
case (5): |
case (4): |
*fflags |= FL_STRICT; |
*fflags |= FL_STRICT; |
break; |
break; |
case (6): |
case (5): |
*fflags &= ~FL_NIGN_ESCAPE; |
*fflags &= ~FL_NIGN_ESCAPE; |
break; |
break; |
default: |
default: |