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

Diff for /mandoc/tbl_layout.c between version 1.34 and 1.35

version 1.34, 2015/01/28 15:03:45 version 1.35, 2015/01/30 00:29:30
Line 262  tbl_layout(struct tbl_node *tbl, int ln, const char *p
Line 262  tbl_layout(struct tbl_node *tbl, int ln, const char *p
                          */                           */
   
                         if (tbl->first_row == NULL) {                          if (tbl->first_row == NULL) {
                                   tbl->first_row = tbl->last_row =
                                       mandoc_calloc(1, sizeof(*rp));
                           }
                           if (tbl->first_row->first == NULL) {
                                 mandoc_msg(MANDOCERR_TBLLAYOUT_NONE,                                  mandoc_msg(MANDOCERR_TBLLAYOUT_NONE,
                                     tbl->parse, ln, pos, NULL);                                      tbl->parse, ln, pos, NULL);
                                 rp = mandoc_calloc(1, sizeof(*rp));                                  cell_alloc(tbl, tbl->first_row,
                                 cell_alloc(tbl, rp, TBL_CELL_LEFT);                                      TBL_CELL_LEFT);
                                 tbl->first_row = tbl->last_row = rp;  
                                 return;                                  return;
                         }                          }
   
Line 282  tbl_layout(struct tbl_node *tbl, int ln, const char *p
Line 285  tbl_layout(struct tbl_node *tbl, int ln, const char *p
                                     rp->last->head == tbl->last_head &&                                      rp->last->head == tbl->last_head &&
                                     tbl->opts.rvert < rp->last->vert)                                      tbl->opts.rvert < rp->last->vert)
                                         tbl->opts.rvert = rp->last->vert;                                          tbl->opts.rvert = rp->last->vert;
   
                                   /* If the last line is empty, drop it. */
   
                                   if (rp->next != NULL &&
                                       rp->next->first == NULL) {
                                           free(rp->next);
                                           rp->next = NULL;
                                   }
                         }                          }
                         return;                          return;
                 default:  /* Cell. */                  default:  /* Cell. */
                         break;                          break;
                 }                  }
   
                 if (rp == NULL) {  /* First cell on this line. */                  /*
                         rp = mandoc_calloc(1, sizeof(*rp));                   * If the last line had at least one cell,
                         if (tbl->last_row)                   * start a new one; otherwise, continue it.
                                 tbl->last_row->next = rp;                   */
                         else  
                                 tbl->first_row = rp;                  if (rp == NULL) {
                         tbl->last_row = rp;                          if (tbl->last_row == NULL ||
                               tbl->last_row->first != NULL) {
                                   rp = mandoc_calloc(1, sizeof(*rp));
                                   if (tbl->last_row)
                                           tbl->last_row->next = rp;
                                   else
                                           tbl->first_row = rp;
                                   tbl->last_row = rp;
                           } else
                                   rp = tbl->last_row;
                 }                  }
                 cell(tbl, rp, ln, p, &pos);                  cell(tbl, rp, ln, p, &pos);
         }          }

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35

CVSweb