[BACK]Return to main.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/main.c between version 1.23 and 1.24

version 1.23, 2009/04/03 12:27:18 version 1.24, 2009/04/12 19:19:57
Line 73  struct curparse {
Line 73  struct curparse {
 #define WARN_WERR        (1 << 2)       /* Warnings->errors. */  #define WARN_WERR        (1 << 2)       /* Warnings->errors. */
         int               fflags;          int               fflags;
 #define IGN_SCOPE        (1 << 0)       /* Ignore scope errors. */  #define IGN_SCOPE        (1 << 0)       /* Ignore scope errors. */
 #define IGN_ESCAPE       (1 << 1)       /* Ignore bad escapes. */  #define NO_IGN_ESCAPE    (1 << 1)       /* Don't ignore bad escapes. */
 #define IGN_MACRO        (1 << 2)       /* Ignore unknown macros. */  #define NO_IGN_MACRO     (1 << 2)       /* Don't ignore bad macros. */
 #define NO_IGN_MACRO     (1 << 3)  #define NO_IGN_CHARS     (1 << 3)       /* Don't ignore bad chars. */
         enum intt         inttype;      /* Input parsers. */          enum intt         inttype;      /* Input parsers. */
         struct man       *man;          struct man       *man;
         struct man       *lastman;          struct man       *lastman;
Line 256  mdoc_init(struct curparse *curp)
Line 256  mdoc_init(struct curparse *curp)
         mdoccb.mdoc_err = merr;          mdoccb.mdoc_err = merr;
         mdoccb.mdoc_warn = mdocwarn;          mdoccb.mdoc_warn = mdocwarn;
   
         pflags = 0; /* XXX */          pflags = MDOC_IGN_MACRO | MDOC_IGN_ESCAPE | MDOC_IGN_CHARS;
   
         if (curp->fflags & IGN_SCOPE)          if (curp->fflags & IGN_SCOPE)
                 pflags |= MDOC_IGN_SCOPE;                  pflags |= MDOC_IGN_SCOPE;
         if (curp->fflags & IGN_ESCAPE)          if (curp->fflags & NO_IGN_ESCAPE)
                 pflags |= MDOC_IGN_ESCAPE;                  pflags &= ~MDOC_IGN_ESCAPE;
         if (curp->fflags & IGN_MACRO)          if (curp->fflags & NO_IGN_MACRO)
                 pflags |= MDOC_IGN_MACRO;                  pflags &= ~MDOC_IGN_MACRO;
           if (curp->fflags & NO_IGN_CHARS)
                   pflags &= ~MDOC_IGN_CHARS;
   
         if (NULL == (mdoc = mdoc_alloc(curp, pflags, &mdoccb)))          if (NULL == (mdoc = mdoc_alloc(curp, pflags, &mdoccb)))
                 warnx("memory allocated");                  warnx("memory exhausted");
   
         return(mdoc);          return(mdoc);
 }  }
Line 548  static int
Line 550  static int
 foptions(int *fflags, char *arg)  foptions(int *fflags, char *arg)
 {  {
         char            *v;          char            *v;
         char            *toks[5];          char            *toks[6];
   
         toks[0] = "ign-scope";          toks[0] = "ign-scope";
         toks[1] = "ign-escape";          toks[1] = "no-ign-escape";
         toks[2] = "ign-macro";          toks[2] = "no-ign-macro";
         toks[3] = "no-ign-macro";          toks[3] = "no-ign-chars";
         toks[4] = NULL;          toks[4] = "strict";
           toks[5] = NULL;
   
         while (*arg)          while (*arg)
                 switch (getsubopt(&arg, toks, &v)) {                  switch (getsubopt(&arg, toks, &v)) {
Line 562  foptions(int *fflags, char *arg)
Line 565  foptions(int *fflags, char *arg)
                         *fflags |= IGN_SCOPE;                          *fflags |= IGN_SCOPE;
                         break;                          break;
                 case (1):                  case (1):
                         *fflags |= IGN_ESCAPE;                          *fflags |= NO_IGN_ESCAPE;
                         break;                          break;
                 case (2):                  case (2):
                         *fflags |= IGN_MACRO;                          *fflags |= NO_IGN_MACRO;
                         break;                          break;
                 case (3):                  case (3):
                         *fflags |= NO_IGN_MACRO;                          *fflags |= NO_IGN_CHARS;
                           break;
                   case (4):
                           *fflags |= NO_IGN_ESCAPE |
                                      NO_IGN_MACRO | NO_IGN_CHARS;
                         break;                          break;
                 default:                  default:
                         warnx("bad argument: -f%s", arg);                          warnx("bad argument: -f%s", arg);

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

CVSweb