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

Diff for /mandoc/eqn.c between version 1.69 and 1.70

version 1.69, 2017/06/23 21:04:57 version 1.70, 2017/06/26 11:04:47
Line 1 
Line 1 
 /*      $Id$  /*      $Id$ */
 /*  /*
  * Copyright (c) 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
Line 722  static enum rofferr
Line 722  static enum rofferr
 eqn_parse(struct eqn_node *ep, struct eqn_box *parent)  eqn_parse(struct eqn_node *ep, struct eqn_box *parent)
 {  {
         char             sym[64];          char             sym[64];
         struct eqn_box  *cur, *nbox;          struct eqn_box  *cur, *nbox, *split;
         const char      *cp, *cpn, *start;          const char      *cp, *cpn, *start;
         char            *p;          char            *p;
         size_t           sz;          size_t           sz;
Line 1118  this_tok:
Line 1118  this_tok:
                                 break;                                  break;
                         cpn = p - 1;                          cpn = p - 1;
                         ccln = CCL_LET;                          ccln = CCL_LET;
                           split = NULL;
                         for (;;) {                          for (;;) {
                                 /* Advance to next character. */                                  /* Advance to next character. */
                                 cp = cpn++;                                  cp = cpn++;
Line 1149  this_tok:
Line 1150  this_tok:
                                         parent->last = cur->prev;                                          parent->last = cur->prev;
                                         parent->args--;                                          parent->args--;
                                         /* Set up a list instead. */                                          /* Set up a list instead. */
                                         nbox = eqn_box_alloc(ep, parent);                                          split = eqn_box_alloc(ep, parent);
                                         nbox->type = EQN_LIST;                                          split->type = EQN_LIST;
                                         /* Insert the word into the list. */                                          /* Insert the word into the list. */
                                         nbox->first = nbox->last = cur;                                          split->first = split->last = cur;
                                         cur->parent = nbox;                                          cur->parent = split;
                                         cur->prev = NULL;                                          cur->prev = NULL;
                                         parent = nbox;                                          parent = split;
                                 }                                  }
                                 /* Append a new text box. */                                  /* Append a new text box. */
                                 nbox = eqn_box_alloc(ep, parent);                                  nbox = eqn_box_alloc(ep, parent);
Line 1172  this_tok:
Line 1173  this_tok:
                                 cpn = p - 1;                                  cpn = p - 1;
                                 ccln = CCL_LET;                                  ccln = CCL_LET;
                         }                          }
                           if (split != NULL)
                                   parent = split->parent;
                         break;                          break;
                 }                  }
                 /*                  /*

Legend:
Removed from v.1.69  
changed lines
  Added in v.1.70

CVSweb