[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.13 and 1.15

version 1.13, 2011/01/07 13:20:58 version 1.15, 2011/01/09 23:14:41
Line 118  tbl_cdata(struct tbl_node *tbl, int ln, const char *p)
Line 118  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;
                 dat->string = mandoc_realloc(dat->string, sz);                  dat->string = mandoc_realloc(dat->string, sz);
Line 155  tbl_data(struct tbl_node *tbl, int ln, const char *p)
Line 167  tbl_data(struct tbl_node *tbl, int ln, const char *p)
         /*          /*
          * Choose a layout row: take the one following the last parsed           * Choose a layout row: take the one following the last parsed
          * span's.  If that doesn't exist, use the last parsed span's.           * span's.  If that doesn't exist, use the last parsed span's.
          * If there's no last parsed span, use the first row.  This can           * If there's no last parsed span, use the first row.  Lastly,
          * be NULL!           * if the last span was a horizontal line, use the same layout
            * (it doesn't "consume" the layout).
            *
            * In the end, this can be NULL!
          */           */
   
         if (tbl->last_span) {          if (tbl->last_span) {
                 assert(tbl->last_span->layout);                  assert(tbl->last_span->layout);
                 rp = tbl->last_span->layout->next;                  if (tbl->last_span->pos == TBL_SPAN_DATA)
                           rp = tbl->last_span->layout->next;
                   else
                           rp = tbl->last_span->layout;
                 if (NULL == rp)                  if (NULL == rp)
                         rp = tbl->last_span->layout;                          rp = tbl->last_span->layout;
         } else          } else

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.15

CVSweb