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

Diff for /mandoc/main.c between version 1.60 and 1.62

version 1.60, 2010/03/22 20:43:00 version 1.62, 2010/05/09 21:19:42
Line 75  struct curparse {
Line 75  struct curparse {
 #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;
Line 91  struct curparse {
Line 90  struct curparse {
 };  };
   
 #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 *);
Line 228  static void
Line 226  static void
 usage(void)  usage(void)
 {  {
   
         (void)fprintf(stderr, "usage: %s [-V] [-foption...] "          (void)fprintf(stderr, "usage: %s [-V] [-foption] "
                         "[-mformat] [-Ooption] [-Toutput] "                          "[-mformat] [-Ooption] [-Toutput] "
                         "[-Werr...]\n", progname);                          "[-Werr] [file...]\n", progname);
         exit(EXIT_FAILURE);          exit(EXIT_FAILURE);
 }  }
   
Line 246  man_init(struct curparse *curp)
Line 244  man_init(struct curparse *curp)
   
         /* 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;
   
Line 270  mdoc_init(struct curparse *curp)
Line 266  mdoc_init(struct curparse *curp)
   
         /* 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;
Line 278  mdoc_init(struct curparse *curp)
Line 274  mdoc_init(struct curparse *curp)
                 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));
 }  }
Line 380  fdesc(struct buf *blk, struct buf *ln, struct curparse
Line 374  fdesc(struct buf *blk, struct buf *ln, struct curparse
   
                                 comment = 1;                                  comment = 1;
                                 pos -= 2;                                  pos -= 2;
                                   for (; pos > 0; --pos) {
                                           if (ln->buf[pos] != ' ')
                                                   break;
                                           if (ln->buf[pos - 1] == '\\')
                                                   break;
                                   }
                                 continue;                                  continue;
                         }                          }
   
Line 584  foptions(int *fflags, char *arg)
Line 584  foptions(int *fflags, char *arg)
         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;
Line 603  foptions(int *fflags, char *arg)
Line 602  foptions(int *fflags, char *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:

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.62

CVSweb