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

Diff for /mandoc/tbl_data.c between version 1.11 and 1.14

version 1.11, 2011/01/04 15:02:00 version 1.14, 2011/01/07 14:59:52
Line 45  data(struct tbl_node *tbl, struct tbl_span *dp, 
Line 45  data(struct tbl_node *tbl, struct tbl_span *dp, 
         else if (NULL == dp->last)          else if (NULL == dp->last)
                 cp = dp->layout->first;                  cp = dp->layout->first;
   
         /* Skip over spanners to data formats. */          /*
            * Skip over spanners and vertical lines to data formats, since
            * we want to match data with data layout cells in the header.
            */
   
         while (cp && (TBL_CELL_VERT == cp->pos ||          while (cp && (TBL_CELL_VERT == cp->pos ||
                                 TBL_CELL_DVERT == cp->pos))                                  TBL_CELL_DVERT == cp->pos ||
                                   TBL_CELL_SPAN == cp->pos))
                 cp = cp->next;                  cp = cp->next;
   
         dat = mandoc_calloc(1, sizeof(struct tbl_dat));          dat = mandoc_calloc(1, sizeof(struct tbl_dat));
Line 108  data(struct tbl_node *tbl, struct tbl_span *dp, 
Line 112  data(struct tbl_node *tbl, struct tbl_span *dp, 
         return(1);          return(1);
 }  }
   
   /* ARGSUSED */
 int  int
 tbl_cdata(struct tbl_node *tbl, int ln, const char *p)  tbl_cdata(struct tbl_node *tbl, int ln, const char *p)
 {  {
         struct tbl_dat  *dat;          struct tbl_dat  *dat;
         size_t           sz;          size_t           sz;
           int              pos;
   
         if (0 == strcmp(p, "T}")) {          pos = 0;
                 tbl->part = TBL_PART_DATA;  
                 return(1);  
         }  
   
         dat = tbl->last_span->last;          dat = tbl->last_span->last;
         dat->pos = TBL_DATA_DATA;          dat->pos = TBL_DATA_DATA;
   
           if (p[pos] == 'T' && p[pos + 1] == '}') {
                   pos += 2;
                   if (p[pos] == tbl->opts.tab) {
                           tbl->part = TBL_PART_DATA;
                           pos++;
                           return(data(tbl, tbl->last_span, ln, p, &pos));
                   } else if ('\0' == p[pos]) {
                           tbl->part = TBL_PART_DATA;
                           return(1);
                   }
   
                   /* Fallthrough: T} is part of a word. */
           }
   
         if (dat->string) {          if (dat->string) {
                 sz = strlen(p) + strlen(dat->string) + 2;                  sz = strlen(p) + strlen(dat->string) + 2;

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.14

CVSweb