version 1.125, 2010/05/08 07:30:19 |
version 1.126, 2010/05/08 08:36:44 |
Line 665 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
Line 665 mdoc_ptext(struct mdoc *m, int line, char *buf) |
|
return(1); |
return(1); |
} |
} |
|
|
/* Warn if the last un-escaped character is whitespace. */ |
/* |
|
* Warn if the last un-escaped character is whitespace. Then |
|
* strip away the remaining spaces (tabs stay!). |
|
*/ |
|
|
i = (int)strlen(buf); |
i = (int)strlen(buf); |
assert(i); |
assert(i); |
|
|
if (' ' == buf[i - 1] || '\t' == buf[i - 1]) |
if (' ' == buf[i - 1] || '\t' == buf[i - 1]) { |
if (1 == i || ('\\' != buf[i - 2])) |
assert(i > 1); |
|
if ('\\' != buf[i - 2]) |
if ( ! mdoc_pwarn(m, line, i - 1, ETAILWS)) |
if ( ! mdoc_pwarn(m, line, i - 1, ETAILWS)) |
return(0); |
return(0); |
|
|
|
for (--i; i && ' ' == buf[i]; i--) |
|
/* Spin back to non-space. */ ; |
|
|
|
/* Jump ahead of escaped whitespace. */ |
|
assert(i); |
|
i += '\\' == buf[i] ? 2 : 1; |
|
|
|
buf[i] = '\0'; |
|
} |
|
|
/* Allocate the whole word. */ |
/* Allocate the whole word. */ |
|
|