[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.53 and 1.56

version 1.53, 2020/01/11 20:48:18 version 1.56, 2021/08/10 12:55:04
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011,2015,2017,2018,2019 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2011,2015,2017-2019,2021 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 46  getdata(struct tbl_node *tbl, struct tbl_span *dp,
Line 46  getdata(struct tbl_node *tbl, struct tbl_span *dp,
         struct tbl_dat  *dat, *pdat;          struct tbl_dat  *dat, *pdat;
         struct tbl_cell *cp;          struct tbl_cell *cp;
         struct tbl_span *pdp;          struct tbl_span *pdp;
           const char      *ccp;
         int              sv;          int              sv;
   
         /*          /*
Line 54  getdata(struct tbl_node *tbl, struct tbl_span *dp,
Line 55  getdata(struct tbl_node *tbl, struct tbl_span *dp,
          */           */
   
         sv = *pos;          sv = *pos;
         while (p[*pos] != '\0' && p[*pos] != tbl->opts.tab)          ccp = p + sv;
                 (*pos)++;          while (*ccp != '\0' && *ccp != tbl->opts.tab)
                   if (*ccp++ == '\\')
                           mandoc_escape(&ccp, NULL, NULL);
           *pos = ccp - p;
   
         /* Advance to the next layout cell, skipping spanners. */          /* Advance to the next layout cell, skipping spanners. */
   
Line 74  getdata(struct tbl_node *tbl, struct tbl_span *dp,
Line 78  getdata(struct tbl_node *tbl, struct tbl_span *dp,
                 if (dp->layout->last->col + 1 < dp->opts->cols) {                  if (dp->layout->last->col + 1 < dp->opts->cols) {
                         cp = mandoc_calloc(1, sizeof(*cp));                          cp = mandoc_calloc(1, sizeof(*cp));
                         cp->pos = TBL_CELL_LEFT;                          cp->pos = TBL_CELL_LEFT;
                           cp->font = ESCAPE_FONTROMAN;
                         cp->spacing = SIZE_MAX;                          cp->spacing = SIZE_MAX;
                         dp->layout->last->next = cp;                          dp->layout->last->next = cp;
                         cp->col = dp->layout->last->col + 1;                          cp->col = dp->layout->last->col + 1;
Line 244  tbl_data(struct tbl_node *tbl, int ln, const char *p, 
Line 249  tbl_data(struct tbl_node *tbl, int ln, const char *p, 
         struct tbl_cell *cp;          struct tbl_cell *cp;
         struct tbl_span *sp;          struct tbl_span *sp;
   
         rp = (sp = tbl->last_span) == NULL ? tbl->first_row :          for (sp = tbl->last_span; sp != NULL; sp = sp->prev)
             sp->pos == TBL_SPAN_DATA && sp->layout->next != NULL ?                  if (sp->pos == TBL_SPAN_DATA)
             sp->layout->next : sp->layout;                          break;
           rp = sp == NULL ? tbl->first_row :
               sp->layout->next == NULL ? sp->layout : sp->layout->next;
         assert(rp != NULL);          assert(rp != NULL);
   
         if (p[1] == '\0') {          if (p[1] == '\0') {

Legend:
Removed from v.1.53  
changed lines
  Added in v.1.56

CVSweb