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

Diff for /mandoc/Attic/argv.c between version 1.27 and 1.28

version 1.27, 2009/02/23 12:45:19 version 1.28, 2009/02/23 15:19:47
Line 44  static int   argv_single(struct mdoc *, int, 
Line 44  static int   argv_single(struct mdoc *, int, 
                                 struct mdoc_arg *, int *, char *);                                  struct mdoc_arg *, int *, char *);
 static  int              argv_multi(struct mdoc *, int,  static  int              argv_multi(struct mdoc *, int,
                                 struct mdoc_arg *, int *, char *);                                  struct mdoc_arg *, int *, char *);
 static  int              postargv(struct mdoc *, int,  
                                 const struct mdoc_arg *, int);  
 static  int              pwarn(struct mdoc *, int, int, int);  static  int              pwarn(struct mdoc *, int, int, int);
 static  int              perr(struct mdoc *, int, int, int);  static  int              perr(struct mdoc *, int, int, int);
   
Line 59  static int   perr(struct mdoc *, int, int, int);
Line 57  static int   perr(struct mdoc *, int, int, int);
 /* Error messages. */  /* Error messages. */
   
 #define EQUOTTERM       (0)  #define EQUOTTERM       (0)
 #define EOFFSET         (1)  #define EARGVAL         (1)
 #define EARGVAL         (2)  #define EARGMANY        (2)
 #define EARGMANY        (3)  
   
 static  int mdoc_argflags[MDOC_MAX] = {  static  int mdoc_argflags[MDOC_MAX] = {
         0, /* \" */          0, /* \" */
Line 183  perr(struct mdoc *mdoc, int line, int pos, int code)
Line 180  perr(struct mdoc *mdoc, int line, int pos, int code)
                 c = mdoc_perr(mdoc, line, pos,                  c = mdoc_perr(mdoc, line, pos,
                                 "unterminated quoted parameter");                                  "unterminated quoted parameter");
                 break;                  break;
         case (EOFFSET):  
                 c = mdoc_perr(mdoc, line, pos,  
                                 "invalid value for offset argument");  
                 break;  
         case (EARGVAL):          case (EARGVAL):
                 c = mdoc_perr(mdoc, line, pos,                  c = mdoc_perr(mdoc, line, pos,
                                 "argument requires a value");                                  "argument requires a value");
Line 637  lookup(int tok, const char *argv)
Line 630  lookup(int tok, const char *argv)
   
   
 static int  static int
 postargv(struct mdoc *mdoc, int line, const struct mdoc_arg *v, int pos)  
 {  
   
         switch (v->arg) {  
         case (MDOC_Offset):  
                 assert(v->value);  
                 assert(v->value[0]);  
                 if (xstrcmp(v->value[0], "left"))  
                         break;  
                 if (xstrcmp(v->value[0], "right"))  
                         break;  
                 if (xstrcmp(v->value[0], "center"))  
                         break;  
                 if (xstrcmp(v->value[0], "indent"))  
                         break;  
                 if (xstrcmp(v->value[0], "indent-two"))  
                         break;  
                 return(perr(mdoc, line, pos, EOFFSET));  
         default:  
                 break;  
         }  
   
         return(1);  
 }  
   
   
 static int  
 argv_multi(struct mdoc *mdoc, int line,  argv_multi(struct mdoc *mdoc, int line,
                 struct mdoc_arg *v, int *pos, char *buf)                  struct mdoc_arg *v, int *pos, char *buf)
 {  {
Line 794  mdoc_argv(struct mdoc *mdoc, int line, int tok,
Line 760  mdoc_argv(struct mdoc *mdoc, int line, int tok,
   
         ppos = *pos;          ppos = *pos;
         if ( ! argv(mdoc, line, v, pos, buf))          if ( ! argv(mdoc, line, v, pos, buf))
                 return(ARGV_ERROR);  
         if ( ! postargv(mdoc, line, v, ppos))  
                 return(ARGV_ERROR);                  return(ARGV_ERROR);
   
         return(ARGV_ARG);          return(ARGV_ARG);

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28

CVSweb