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

Diff for /mandoc/mdoc_argv.c between version 1.5 and 1.9

version 1.5, 2009/06/16 19:45:51 version 1.9, 2009/07/06 09:21:24
Line 32 
Line 32 
  * There's no limit to the number or arguments that may be allocated.   * There's no limit to the number or arguments that may be allocated.
  */   */
   
   /* FIXME .Bf Li raises "macro-like parameter". */
   /* FIXME .Bl -column should deprecate old-groff syntax. */
   
 #define ARGS_QUOTED     (1 << 0)  #define ARGS_QUOTED     (1 << 0)
 #define ARGS_DELIM      (1 << 1)  #define ARGS_DELIM      (1 << 1)
 #define ARGS_TABSEP     (1 << 2)  #define ARGS_TABSEP     (1 << 2)
Line 116  static int mdoc_argflags[MDOC_MAX] = {
Line 119  static int mdoc_argflags[MDOC_MAX] = {
         ARGS_DELIM | ARGS_QUOTED, /* Dl */          ARGS_DELIM | ARGS_QUOTED, /* Dl */
         0, /* Bd */          0, /* Bd */
         0, /* Ed */          0, /* Ed */
         0, /* Bl */          ARGS_QUOTED, /* Bl */
         0, /* El */          0, /* El */
         0, /* It */          0, /* It */
         ARGS_DELIM, /* Ad */          ARGS_DELIM, /* Ad */
Line 366  perr(struct mdoc *mdoc, int line, int pos, enum merr c
Line 369  perr(struct mdoc *mdoc, int line, int pos, enum merr c
                 p = "argument requires a value";                  p = "argument requires a value";
                 break;                  break;
         }          }
   
         assert(p);          assert(p);
         return(mdoc_perr(mdoc, line, pos, p));          return(mdoc_perr(mdoc, line, pos, p));
 }  }
Line 375  static int
Line 379  static int
 pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn code)  pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn code)
 {  {
         char            *p;          char            *p;
         int              c;  
   
         p = NULL;          p = NULL;
         c = WARN_SYNTAX;  
         switch (code) {          switch (code) {
         case (WQUOTPARM):          case (WQUOTPARM):
                 p = "unexpected quoted parameter";                  p = "unexpected quoted parameter";
Line 388  pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn
Line 391  pwarn(struct mdoc *mdoc, int line, int pos, enum mwarn
                 break;                  break;
         case (WCOLEMPTY):          case (WCOLEMPTY):
                 p = "last list column is empty";                  p = "last list column is empty";
                 c = WARN_COMPAT;  
                 break;                  break;
         case (WTAILWS):          case (WTAILWS):
                 p = "trailing whitespace";                  p = "trailing whitespace";
                 c = WARN_COMPAT;  
                 break;                  break;
         }          }
   
         assert(p);          assert(p);
         return(mdoc_pwarn(mdoc, line, pos, c, p));          return(mdoc_pwarn(mdoc, line, pos, p));
 }  }
   
   
Line 753  static int
Line 755  static int
 argv_multi(struct mdoc *mdoc, int line,  argv_multi(struct mdoc *mdoc, int line,
                 struct mdoc_argv *v, int *pos, char *buf)                  struct mdoc_argv *v, int *pos, char *buf)
 {  {
         int              c, ppos;          int              c;
         char            *p;          char            *p;
   
         ppos = *pos;  
   
         for (v->sz = 0; ; v->sz++) {          for (v->sz = 0; ; v->sz++) {
                 if ('-' == buf[*pos])                  if ('-' == buf[*pos])
                         break;                          break;
Line 779  argv_multi(struct mdoc *mdoc, int line, 
Line 779  argv_multi(struct mdoc *mdoc, int line, 
                         return(verr(mdoc, EMALLOC));                          return(verr(mdoc, EMALLOC));
         }          }
   
         if (v->sz)          return(1);
                 return(1);  
   
         return(perr(mdoc, line, ppos, EARGVAL));  
 }  }
   
   

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.9

CVSweb