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); |