version 1.37, 2014/04/30 12:34:44 |
version 1.38, 2014/04/30 12:54:26 |
Line 133 static const struct node nodes[NODE__MAX] = { |
|
Line 133 static const struct node nodes[NODE__MAX] = { |
|
{ "refentryinfo", NODE_IGNTEXT }, |
{ "refentryinfo", NODE_IGNTEXT }, |
{ "refentrytitle", 0 }, |
{ "refentrytitle", 0 }, |
{ "refmeta", NODE_IGNTEXT }, |
{ "refmeta", NODE_IGNTEXT }, |
|
{ "refmetainfo", NODE_IGNTEXT }, |
{ "refmiscinfo", NODE_IGNTEXT }, |
{ "refmiscinfo", NODE_IGNTEXT }, |
{ "refname", 0 }, |
{ "refname", 0 }, |
{ "refnamediv", NODE_IGNTEXT }, |
{ "refnamediv", NODE_IGNTEXT }, |
Line 169 static const struct node nodes[NODE__MAX] = { |
|
Line 170 static const struct node nodes[NODE__MAX] = { |
|
{ "year", NODE_IGNTEXT }, |
{ "year", NODE_IGNTEXT }, |
}; |
}; |
|
|
|
static int warn = 0; |
|
|
static void |
static void |
pnode_print(struct parse *p, struct pnode *pn); |
pnode_print(struct parse *p, struct pnode *pn); |
|
|
Line 346 xml_elem_start(void *arg, const XML_Char *name, const |
|
Line 349 xml_elem_start(void *arg, const XML_Char *name, const |
|
if (0 == strcmp(*att, attrkeys[key])) |
if (0 == strcmp(*att, attrkeys[key])) |
break; |
break; |
if (ATTRKEY__MAX == key) { |
if (ATTRKEY__MAX == key) { |
fprintf(stderr, "%s:%zu:%zu: warning: " |
if (warn) |
"unknown attribute \"%s\"\n", |
fprintf(stderr, "%s:%zu:%zu: warning: " |
ps->fname, |
"unknown attribute \"%s\"\n", |
XML_GetCurrentLineNumber(ps->xml), |
ps->fname, |
XML_GetCurrentColumnNumber(ps->xml), |
XML_GetCurrentLineNumber(ps->xml), |
*att); |
XML_GetCurrentColumnNumber(ps->xml), |
|
*att); |
continue; |
continue; |
} else if ( ! isattrkey(node, key)) { |
} else if ( ! isattrkey(node, key)) { |
fprintf(stderr, "%s:%zu:%zu: warning: " |
if (warn) |
"bad attribute \"%s\"\n", |
fprintf(stderr, "%s:%zu:%zu: warning: " |
ps->fname, |
"bad attribute \"%s\"\n", |
XML_GetCurrentLineNumber(ps->xml), |
ps->fname, |
XML_GetCurrentColumnNumber(ps->xml), |
XML_GetCurrentLineNumber(ps->xml), |
*att); |
XML_GetCurrentColumnNumber(ps->xml), |
|
*att); |
continue; |
continue; |
} |
} |
for (val = 0; val < ATTRVAL__MAX; val++) |
for (val = 0; val < ATTRVAL__MAX; val++) |
if (0 == strcmp(*(att + 1), attrvals[val])) |
if (0 == strcmp(*(att + 1), attrvals[val])) |
break; |
break; |
if (ATTRVAL__MAX != val && ! isattrval(key, val)) { |
if (ATTRVAL__MAX != val && ! isattrval(key, val)) { |
fprintf(stderr, "%s:%zu:%zu: warning: " |
if (warn) |
"bad attribute value \"%s\"\n", |
fprintf(stderr, "%s:%zu:%zu: warning: " |
ps->fname, |
"bad attribute value \"%s\"\n", |
XML_GetCurrentLineNumber(ps->xml), |
ps->fname, |
XML_GetCurrentColumnNumber(ps->xml), |
XML_GetCurrentLineNumber(ps->xml), |
*(att + 1)); |
XML_GetCurrentColumnNumber(ps->xml), |
|
*(att + 1)); |
continue; |
continue; |
} |
} |
pattr = calloc(1, sizeof(struct pattr)); |
pattr = calloc(1, sizeof(struct pattr)); |
Line 1468 main(int argc, char *argv[]) |
|
Line 1474 main(int argc, char *argv[]) |
|
XML_Parser xp; |
XML_Parser xp; |
const char *fname; |
const char *fname; |
char *buf; |
char *buf; |
int fd, rc; |
int fd, rc, ch; |
|
const char *progname; |
|
|
|
progname = strrchr(argv[0], '/'); |
|
if (progname == NULL) |
|
progname = argv[0]; |
|
else |
|
++progname; |
|
|
fname = "-"; |
fname = "-"; |
xp = NULL; |
xp = NULL; |
buf = NULL; |
buf = NULL; |
rc = 0; |
rc = 0; |
|
|
if (-1 != getopt(argc, argv, "")) |
while (-1 != (ch = getopt(argc, argv, "W"))) |
return(EXIT_FAILURE); |
switch (ch) { |
|
case ('W'): |
|
warn = 1; |
|
break; |
|
default: |
|
goto usage; |
|
} |
|
|
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
Line 1510 main(int argc, char *argv[]) |
|
Line 1529 main(int argc, char *argv[]) |
|
if (STDIN_FILENO != fd) |
if (STDIN_FILENO != fd) |
close(fd); |
close(fd); |
return(rc ? EXIT_SUCCESS : EXIT_FAILURE); |
return(rc ? EXIT_SUCCESS : EXIT_FAILURE); |
|
|
|
usage: |
|
fprintf(stderr, "usage: %s [-W]\n", progname); |
|
return(EXIT_FAILURE); |
} |
} |