version 1.14, 2009/06/22 13:09:17 |
version 1.15, 2009/07/04 09:01:55 |
|
|
#include <stdlib.h> |
#include <stdlib.h> |
|
|
#include "libman.h" |
#include "libman.h" |
|
#include "libmandoc.h" |
|
|
#define POSTARGS struct man *m, const struct man_node *n |
#define POSTARGS struct man *m, const struct man_node *n |
|
|
|
|
check_text(POSTARGS) |
check_text(POSTARGS) |
{ |
{ |
const char *p; |
const char *p; |
int pos; |
int pos, c; |
|
|
assert(n->string); |
assert(n->string); |
|
|
for (p = n->string, pos = n->pos + 1; *p; p++, pos++) { |
for (p = n->string, pos = n->pos + 1; *p; p++, pos++) { |
if ('\t' == *p || isprint((u_char)*p)) |
if ('\\' == *p) { |
|
c = mandoc_special(p); |
|
if (c) { |
|
p += c - 1; |
|
pos += c - 1; |
|
continue; |
|
} |
|
if ( ! (MAN_IGN_ESCAPE & m->pflags)) |
|
return(man_perr(m, n->line, pos, WESCAPE)); |
|
if ( ! man_pwarn(m, n->line, pos, WESCAPE)) |
|
return(0); |
|
continue; |
|
} |
|
|
|
if ('\t' == *p || isprint((u_char)*p)) |
continue; |
continue; |
|
|
if (MAN_IGN_CHARS & m->pflags) |
if (MAN_IGN_CHARS & m->pflags) |