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

Diff for /mandoc/Attic/argv.c between version 1.49 and 1.51

version 1.49, 2009/03/12 02:57:35 version 1.51, 2009/03/14 05:21:58
Line 60  enum merr {
Line 60  enum merr {
 static  int              argv_a2arg(int, const char *);  static  int              argv_a2arg(int, const char *);
 static  int              args(struct mdoc *, int, int *,  static  int              args(struct mdoc *, int, int *,
                                 char *, int, char **);                                  char *, int, char **);
 static  int              argv(struct mdoc *, int, int,  static  int              argv(struct mdoc *, int,
                                 struct mdoc_argv *, int *, char *);                                  struct mdoc_argv *, int *, char *);
 static  int              argv_single(struct mdoc *, int,  static  int              argv_single(struct mdoc *, int,
                                 struct mdoc_argv *, int *, char *);                                  struct mdoc_argv *, int *, char *);
Line 94  static int mdoc_argvflags[MDOC_ARG_MAX] = {
Line 94  static int mdoc_argvflags[MDOC_ARG_MAX] = {
         ARGV_MULTI,     /* MDOC_Column */          ARGV_MULTI,     /* MDOC_Column */
         ARGV_SINGLE,    /* MDOC_Width */          ARGV_SINGLE,    /* MDOC_Width */
         ARGV_NONE,      /* MDOC_Compact */          ARGV_NONE,      /* MDOC_Compact */
         ARGV_SINGLE,    /* MDOC_Std */          ARGV_OPT_SINGLE, /* MDOC_Std */
         ARGV_NONE,      /* MDOC_Filled */          ARGV_NONE,      /* MDOC_Filled */
         ARGV_NONE,      /* MDOC_Words */          ARGV_NONE,      /* MDOC_Words */
         ARGV_NONE,      /* MDOC_Emphasis */          ARGV_NONE,      /* MDOC_Emphasis */
           ARGV_NONE,      /* MDOC_Symbolic */
         ARGV_NONE       /* MDOC_Symbolic */          ARGV_NONE       /* MDOC_Symbolic */
 };  };
   
Line 216  static int mdoc_argflags[MDOC_MAX] = {
Line 217  static int mdoc_argflags[MDOC_MAX] = {
         ARGS_DELIM, /* Brq */          ARGS_DELIM, /* Brq */
         0, /* Bro */          0, /* Bro */
         ARGS_DELIM, /* Brc */          ARGS_DELIM, /* Brc */
           ARGS_QUOTED, /* %C */
 };  };
   
   
Line 290  mdoc_argv(struct mdoc *mdoc, int line, int tok,
Line 292  mdoc_argv(struct mdoc *mdoc, int line, int tok,
   
         /* FIXME: whitespace if no value. */          /* FIXME: whitespace if no value. */
   
         if ( ! argv(mdoc, tok, line, &tmp, pos, buf))          if ( ! argv(mdoc, line, &tmp, pos, buf))
                 return(ARGV_ERROR);                  return(ARGV_ERROR);
   
         if (NULL == (arg = *v)) {          if (NULL == (arg = *v)) {
Line 735  argv_a2arg(int tok, const char *argv)
Line 737  argv_a2arg(int tok, const char *argv)
                         return(MDOC_Offset);                          return(MDOC_Offset);
                 else if (xstrcmp(argv, "compact"))                  else if (xstrcmp(argv, "compact"))
                         return(MDOC_Compact);                          return(MDOC_Compact);
                   else if (xstrcmp(argv, "nested"))
                           return(MDOC_Nested);
                 break;                  break;
   
         case (MDOC_Rv):          case (MDOC_Rv):
Line 837  argv_single(struct mdoc *mdoc, int line, 
Line 841  argv_single(struct mdoc *mdoc, int line, 
  * multiple parameters.   * multiple parameters.
  */   */
 static int  static int
 argv(struct mdoc *mdoc, int tok, int line,  argv(struct mdoc *mdoc, int line,
                 struct mdoc_argv *v, int *pos, char *buf)                  struct mdoc_argv *v, int *pos, char *buf)
 {  {
         int              fl;  
   
         v->sz = 0;          v->sz = 0;
         v->value = NULL;          v->value = NULL;
         fl = mdoc_argvflags[v->arg];  
   
         /*          switch (mdoc_argvflags[v->arg]) {
          * Override the default per-argument value.  
          */  
   
         switch (tok) {  
         case (MDOC_Ex):  
                 fl = ARGV_OPT_SINGLE;  
                 break;  
         default:  
                 break;  
         }  
   
         switch (fl) {  
         case (ARGV_SINGLE):          case (ARGV_SINGLE):
                 return(argv_single(mdoc, line, v, pos, buf));                  return(argv_single(mdoc, line, v, pos, buf));
         case (ARGV_MULTI):          case (ARGV_MULTI):

Legend:
Removed from v.1.49  
changed lines
  Added in v.1.51

CVSweb