version 1.44, 2015/03/19 10:04:32 |
version 1.46, 2019/03/08 15:09:54 |
Line 225 xml_char(void *arg, const XML_Char *p, int sz) |
|
Line 225 xml_char(void *arg, const XML_Char *p, int sz) |
|
*/ |
*/ |
if (NODE_TEXT != ps->node) { |
if (NODE_TEXT != ps->node) { |
for (i = 0; i < sz; i++) |
for (i = 0; i < sz; i++) |
if ( ! isspace((int)p[i])) |
if ( ! isspace((unsigned char)p[i])) |
break; |
break; |
if (i == sz) |
if (i == sz) |
return; |
return; |
Line 265 pnode_trim(struct pnode *pn) |
|
Line 265 pnode_trim(struct pnode *pn) |
|
|
|
assert(NODE_TEXT == pn->node); |
assert(NODE_TEXT == pn->node); |
for ( ; pn->bsz > 0; pn->bsz--) |
for ( ; pn->bsz > 0; pn->bsz--) |
if ( ! isspace((int)pn->b[pn->bsz - 1])) |
if ( ! isspace((unsigned char)pn->b[pn->bsz - 1])) |
break; |
break; |
} |
} |
|
|
Line 580 pnode_printmacrolinetext(struct parse *p, struct pnode |
|
Line 580 pnode_printmacrolinetext(struct parse *p, struct pnode |
|
|
|
/* Convert all space to spaces. */ |
/* Convert all space to spaces. */ |
for (cp = p->b; '\0' != *cp; cp++) |
for (cp = p->b; '\0' != *cp; cp++) |
if (isspace((int)*cp)) |
if (isspace((unsigned char)*cp)) |
*cp = ' '; |
*cp = ' '; |
|
|
for (cp = p->b; isspace((int)*cp); cp++) |
for (cp = p->b; isspace((unsigned char)*cp); cp++) |
/* Spin past whitespace (XXX: necessary?) */ ; |
/* Spin past whitespace (XXX: necessary?) */ ; |
for ( ; '\0' != *cp; cp++) { |
for ( ; '\0' != *cp; cp++) { |
/* Escape us if we look like a macro. */ |
/* Escape us if we look like a macro. */ |
if ((cp == p->b || ' ' == *(cp - 1)) && |
if ((cp == p->b || ' ' == *(cp - 1)) && |
isupper((int)*cp) && |
isupper((unsigned char)*cp) && |
'\0' != *(cp + 1) && |
'\0' != *(cp + 1) && |
islower((int)*(cp + 1)) && |
islower((unsigned char)*(cp + 1)) && |
('\0' == *(cp + 2) || |
('\0' == *(cp + 2) || |
' ' == *(cp + 2) || |
' ' == *(cp + 2) || |
(islower((int)*(cp + 2)) && |
(islower((unsigned char)*(cp + 2)) && |
('\0' == *(cp + 3) || |
('\0' == *(cp + 3) || |
' ' == *(cp + 3))))) |
' ' == *(cp + 3))))) |
fputs("\\&", stdout); |
fputs("\\&", stdout); |
if (MACROLINE_UPPER & fl) |
if (MACROLINE_UPPER & fl) |
putchar(toupper((int)*cp)); |
putchar(toupper((unsigned char)*cp)); |
else |
else |
putchar((int)*cp); |
putchar(*cp); |
/* If we're a character escape, escape us. */ |
/* If we're a character escape, escape us. */ |
if ('\\' == *cp) |
if ('\\' == *cp) |
putchar('e'); |
putchar('e'); |
Line 672 pnode_printmclosepunct(struct parse *p, struct pnode * |
|
Line 672 pnode_printmclosepunct(struct parse *p, struct pnode * |
|
/* Only do this for the comma/period. */ |
/* Only do this for the comma/period. */ |
if (pn->bsz > 0 && |
if (pn->bsz > 0 && |
(',' == pn->b[0] || '.' == pn->b[0]) && |
(',' == pn->b[0] || '.' == pn->b[0]) && |
(1 == pn->bsz || isspace((int)pn->b[1]))) { |
(1 == pn->bsz || isspace((unsigned char)pn->b[1]))) { |
putchar(' '); |
putchar(' '); |
putchar(pn->b[0]); |
putchar(pn->b[0]); |
pn->b++; |
pn->b++; |
Line 1455 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1455 pnode_print(struct parse *p, struct pnode *pn) |
|
for (last = '\n'; '\0' != *cp; ) { |
for (last = '\n'; '\0' != *cp; ) { |
if ('\n' == last) { |
if ('\n' == last) { |
/* Consume all whitespace. */ |
/* Consume all whitespace. */ |
if (isspace((int)*cp)) { |
if (isspace((unsigned char)*cp)) { |
while (isspace((int)*cp)) |
while (isspace((unsigned char)*cp)) |
cp++; |
cp++; |
continue; |
continue; |
} else if ('\'' == *cp || '.' == *cp) |
} else if ('\'' == *cp || '.' == *cp) |
Line 1654 main(int argc, char *argv[]) |
|
Line 1654 main(int argc, char *argv[]) |
|
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
|
|
if (argc > 1) |
if (argc > 1) { |
return(EXIT_FAILURE); |
fprintf(stderr, "%s: Too many arguments\n", argv[1]); |
else if (argc > 0) |
goto usage; |
|
} else if (argc > 0) |
fname = argv[0]; |
fname = argv[0]; |
|
|
/* Read from stdin or a file. */ |
/* Read from stdin or a file. */ |
Line 1685 main(int argc, char *argv[]) |
|
Line 1686 main(int argc, char *argv[]) |
|
return(rc ? EXIT_SUCCESS : EXIT_FAILURE); |
return(rc ? EXIT_SUCCESS : EXIT_FAILURE); |
|
|
usage: |
usage: |
fprintf(stderr, "usage: %s [-W]\n", progname); |
fprintf(stderr, "usage: %s [-W] [input_filename]\n", progname); |
return(EXIT_FAILURE); |
return(EXIT_FAILURE); |
} |
} |