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

Diff for /mandoc/roff.c between version 1.287 and 1.290

version 1.287, 2017/01/10 21:59:47 version 1.290, 2017/03/03 11:50:49
Line 1223  deroff(char **dest, const struct roff_node *n)
Line 1223  deroff(char **dest, const struct roff_node *n)
                 return;                  return;
         }          }
   
         /* Skip leading whitespace and escape sequences. */          /* Skip leading whitespace. */
   
         cp = n->string;          for (cp = n->string; *cp != '\0'; cp++) {
         while (*cp != '\0') {                  if (cp[0] == '\\' && cp[1] != '\0' &&
                 if ('\\' == *cp) {                      strchr(" %&0^|~", cp[1]) != NULL)
                         cp++;                          cp++;
                         mandoc_escape((const char **)&cp, NULL, NULL);                  else if ( ! isspace((unsigned char)*cp))
                 } else if (isspace((unsigned char)*cp))  
                         cp++;  
                 else  
                         break;                          break;
         }          }
   
           /* Skip trailing backslash. */
   
           sz = strlen(cp);
           if (sz > 0 && cp[sz - 1] == '\\')
                   sz--;
   
         /* Skip trailing whitespace. */          /* Skip trailing whitespace. */
   
         for (sz = strlen(cp); sz; sz--)          for (; sz; sz--)
                 if ( ! isspace((unsigned char)cp[sz-1]))                  if ( ! isspace((unsigned char)cp[sz-1]))
                         break;                          break;
   
Line 3362  roff_strdup(const struct roff *r, const char *p)
Line 3365  roff_strdup(const struct roff *r, const char *p)
         ssz = 0;          ssz = 0;
   
         while ('\0' != *p) {          while ('\0' != *p) {
                 if ('\\' != *p && r->xtab && r->xtab[(int)*p].p) {                  assert((unsigned int)*p < 128);
                   if ('\\' != *p && r->xtab && r->xtab[(unsigned int)*p].p) {
                         sz = r->xtab[(int)*p].sz;                          sz = r->xtab[(int)*p].sz;
                         res = mandoc_realloc(res, ssz + sz + 1);                          res = mandoc_realloc(res, ssz + sz + 1);
                         memcpy(res + ssz, r->xtab[(int)*p].p, sz);                          memcpy(res + ssz, r->xtab[(int)*p].p, sz);

Legend:
Removed from v.1.287  
changed lines
  Added in v.1.290

CVSweb