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

Diff for /mandoc/eqn.c between version 1.59 and 1.62

version 1.59, 2015/10/06 18:32:19 version 1.62, 2017/03/11 15:43:04
Line 366  eqn_def_find(struct eqn_node *ep, const char *key, siz
Line 366  eqn_def_find(struct eqn_node *ep, const char *key, siz
 static const char *  static const char *
 eqn_next(struct eqn_node *ep, char quote, size_t *sz, int repl)  eqn_next(struct eqn_node *ep, char quote, size_t *sz, int repl)
 {  {
           static size_t    last_len;
           static int       lim;
   
         char            *start, *next;          char            *start, *next;
         int              q, diff, lim;          int              q, diff;
         size_t           ssz, dummy;          size_t           ssz, dummy;
         struct eqn_def  *def;          struct eqn_def  *def;
   
         if (NULL == sz)          if (NULL == sz)
                 sz = &dummy;                  sz = &dummy;
   
         lim = 0;          if (ep->cur >= last_len)
                   lim = 0;
         ep->rew = ep->cur;          ep->rew = ep->cur;
 again:  again:
         /* Prevent self-definitions. */          /* Prevent self-definitions. */
Line 448  again:
Line 452  again:
                 memmove(start + *sz + diff, start + *sz,                  memmove(start + *sz + diff, start + *sz,
                     (strlen(start) - *sz) + 1);                      (strlen(start) - *sz) + 1);
                 memcpy(start, def->val, def->valsz);                  memcpy(start, def->val, def->valsz);
                   last_len = start - ep->data + def->valsz;
                   lim++;
                 goto again;                  goto again;
         }          }
   
Line 986  this_tok:
Line 992  this_tok:
                                 parent->right = mandoc_strndup(start, sz);                                  parent->right = mandoc_strndup(start, sz);
                 }                  }
                 parent = parent->parent;                  parent = parent->parent;
                 if (EQN_TOK_BRACE_CLOSE == tok && parent &&                  if (tok == EQN_TOK_BRACE_CLOSE &&
                     (parent->type == EQN_PILE ||                      (parent->type == EQN_PILE ||
                      parent->type == EQN_MATRIX))                       parent->type == EQN_MATRIX))
                         parent = parent->parent;                          parent = parent->parent;

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.62

CVSweb