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

Diff for /mandoc/tbl_opts.c between version 1.4 and 1.5

version 1.4, 2010/12/29 14:38:14 version 1.5, 2011/01/02 10:10:57
Line 71  static const struct tbl_phrase keys[KEY_MAXKEYS] = {
Line 71  static const struct tbl_phrase keys[KEY_MAXKEYS] = {
         { "nospaces",    TBL_OPT_NOSPACE,       KEY_NOSPACE},          { "nospaces",    TBL_OPT_NOSPACE,       KEY_NOSPACE},
 };  };
   
 static  int              arg(struct tbl *, int, const char *, int *, int);  static  int              arg(struct tbl_node *, int,
 static  void             opt(struct tbl *, int, const char *, int *);                                  const char *, int *, int);
   static  void             opt(struct tbl_node *, int,
                                   const char *, int *);
   
 static int  static int
 arg(struct tbl *tbl, int ln, const char *p, int *pos, int key)  arg(struct tbl_node *tbl, int ln, const char *p, int *pos, int key)
 {  {
         int              i;          int              i;
         char             buf[KEY_MAXNUMSZ];          char             buf[KEY_MAXNUMSZ];
Line 100  arg(struct tbl *tbl, int ln, const char *p, int *pos, 
Line 102  arg(struct tbl *tbl, int ln, const char *p, int *pos, 
   
         switch (key) {          switch (key) {
         case (KEY_DELIM):          case (KEY_DELIM):
                 if ('\0' == (tbl->delims[0] = p[(*pos)++])) {                  if ('\0' == (tbl->opts.delims[0] = p[(*pos)++])) {
                         TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);                          TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);
                         return(0);                          return(0);
                 }                  }
   
                 if ('\0' == (tbl->delims[1] = p[(*pos)++])) {                  if ('\0' == (tbl->opts.delims[1] = p[(*pos)++])) {
                         TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);                          TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);
                         return(0);                          return(0);
                 }                  }
                 break;                  break;
         case (KEY_TAB):          case (KEY_TAB):
                 if ('\0' != (tbl->tab = p[(*pos)++]))                  if ('\0' != (tbl->opts.tab = p[(*pos)++]))
                         break;                          break;
   
                 TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);                  TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);
Line 125  arg(struct tbl *tbl, int ln, const char *p, int *pos, 
Line 127  arg(struct tbl *tbl, int ln, const char *p, int *pos, 
   
                 if (i < KEY_MAXNUMSZ) {                  if (i < KEY_MAXNUMSZ) {
                         buf[i] = '\0';                          buf[i] = '\0';
                         tbl->linesize = atoi(buf);                          tbl->opts.linesize = atoi(buf);
                         break;                          break;
                 }                  }
   
                 (*tbl->msg)(MANDOCERR_TBL, tbl->data, ln, *pos, NULL);                  (*tbl->msg)(MANDOCERR_TBL, tbl->data, ln, *pos, NULL);
                 return(0);                  return(0);
         case (KEY_DPOINT):          case (KEY_DPOINT):
                 if ('\0' != (tbl->decimal = p[(*pos)++]))                  if ('\0' != (tbl->opts.decimal = p[(*pos)++]))
                         break;                          break;
   
                 TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);                  TBL_MSG(tbl, MANDOCERR_TBL, ln, *pos - 1);
Line 152  arg(struct tbl *tbl, int ln, const char *p, int *pos, 
Line 154  arg(struct tbl *tbl, int ln, const char *p, int *pos, 
 }  }
   
 static void  static void
 opt(struct tbl *tbl, int ln, const char *p, int *pos)  opt(struct tbl_node *tbl, int ln, const char *p, int *pos)
 {  {
         int              i, sv;          int              i, sv;
         char             buf[KEY_MAXNAME];          char             buf[KEY_MAXNAME];
Line 220  again: /*
Line 222  again: /*
                  */                   */
   
                 if (keys[i].key)                  if (keys[i].key)
                         tbl->opts |= keys[i].key;                          tbl->opts.opts |= keys[i].key;
                 else if ( ! arg(tbl, ln, p, pos, keys[i].ident))                  else if ( ! arg(tbl, ln, p, pos, keys[i].ident))
                         return;                          return;
   
Line 240  again: /*
Line 242  again: /*
 }  }
   
 int  int
 tbl_option(struct tbl *tbl, int ln, const char *p)  tbl_option(struct tbl_node *tbl, int ln, const char *p)
 {  {
         int              pos;          int              pos;
   

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

CVSweb