version 1.17, 2014/03/30 16:32:03 |
version 1.20, 2014/03/30 16:57:06 |
Line 103 static const struct node nodes[NODE__MAX] = { |
|
Line 103 static const struct node nodes[NODE__MAX] = { |
|
{ "itemizedlist", NODE_IGNTEXT }, |
{ "itemizedlist", NODE_IGNTEXT }, |
{ "link", 0 }, |
{ "link", 0 }, |
{ "listitem", NODE_IGNTEXT }, |
{ "listitem", NODE_IGNTEXT }, |
|
{ "literal", 0 }, |
{ "manvolnum", 0 }, |
{ "manvolnum", 0 }, |
{ "option", 0 }, |
{ "option", 0 }, |
{ "para", 0 }, |
{ "para", 0 }, |
Line 119 static const struct node nodes[NODE__MAX] = { |
|
Line 120 static const struct node nodes[NODE__MAX] = { |
|
{ "refname", 0 }, |
{ "refname", 0 }, |
{ "refnamediv", NODE_IGNTEXT }, |
{ "refnamediv", NODE_IGNTEXT }, |
{ "refpurpose", 0 }, |
{ "refpurpose", 0 }, |
{ "refsect1", 0 }, |
{ "refsect1", NODE_IGNTEXT }, |
|
{ "refsect2", NODE_IGNTEXT }, |
{ "refsynopsisdiv", NODE_IGNTEXT }, |
{ "refsynopsisdiv", NODE_IGNTEXT }, |
{ "replaceable", 0 }, |
{ "replaceable", 0 }, |
|
{ "sbr", NODE_IGNTEXT }, |
{ "structname", 0 }, |
{ "structname", 0 }, |
{ "synopsis", 0 }, |
{ "synopsis", 0 }, |
{ "term", 0 }, |
{ "term", 0 }, |
Line 582 pnode_printrefsect(struct parse *p, struct pnode *pn) |
|
Line 585 pnode_printrefsect(struct parse *p, struct pnode *pn) |
|
if (NODE_TITLE == pp->node) |
if (NODE_TITLE == pp->node) |
break; |
break; |
|
|
fputs(".Sh", stdout); |
if (NODE_REFSECT1 == pn->node) |
|
fputs(".Sh", stdout); |
|
else |
|
fputs(".Ss", stdout); |
|
|
p->newln = 0; |
p->newln = 0; |
|
|
if (NULL != pp) { |
if (NULL != pp) { |
pnode_printmacroline(p, pp); |
pnode_printmacrolinetext(p, pp, |
|
NODE_REFSECT1 == pn->node ? |
|
MACROLINE_UPPER : 0); |
|
pnode_printmclose(p, 1); |
pnode_unlink(pp); |
pnode_unlink(pp); |
} else { |
} else { |
puts("UNKNOWN"); |
puts("UNKNOWN"); |
Line 947 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 957 pnode_print(struct parse *p, struct pnode *pn) |
|
assert(p->newln); |
assert(p->newln); |
pnode_printitemizedlist(p, pn); |
pnode_printitemizedlist(p, pn); |
break; |
break; |
|
case (NODE_LITERAL): |
|
pnode_printmopen(p); |
|
fputs("Li", stdout); |
|
break; |
case (NODE_OPTION): |
case (NODE_OPTION): |
pnode_printmopen(p); |
pnode_printmopen(p); |
fputs("Fl", stdout); |
fputs("Fl", stdout); |
/* FIXME: bogus leading '-'? */ |
|
break; |
break; |
case (NODE_PARA): |
case (NODE_PARA): |
assert(p->newln); |
assert(p->newln); |
Line 1001 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1014 pnode_print(struct parse *p, struct pnode *pn) |
|
puts(".Sh SYNOPSIS"); |
puts(".Sh SYNOPSIS"); |
break; |
break; |
case (NODE_REFSECT1): |
case (NODE_REFSECT1): |
|
/* FALLTHROUGH */ |
|
case (NODE_REFSECT2): |
assert(p->newln); |
assert(p->newln); |
pnode_printrefsect(p, pn); |
pnode_printrefsect(p, pn); |
break; |
break; |
Line 1008 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1023 pnode_print(struct parse *p, struct pnode *pn) |
|
pnode_printmopen(p); |
pnode_printmopen(p); |
fputs("Ar", stdout); |
fputs("Ar", stdout); |
break; |
break; |
|
case (NODE_SBR): |
|
assert(p->newln); |
|
puts(".br"); |
|
break; |
case (NODE_STRUCTNAME): |
case (NODE_STRUCTNAME): |
pnode_printmopen(p); |
pnode_printmopen(p); |
fputs("Vt", stdout); |
fputs("Vt", stdout); |
Line 1024 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1043 pnode_print(struct parse *p, struct pnode *pn) |
|
* Remember to escape control characters and escapes. |
* Remember to escape control characters and escapes. |
*/ |
*/ |
assert(p->bsz); |
assert(p->bsz); |
for (last = '\n', cp = p->b; '\0' != *cp; ) { |
cp = p->b; |
|
/* |
|
* There's often a superfluous "-" in its <option> tags |
|
* before the actual flags themselves. |
|
* "Fl" does this for us, so remove it. |
|
*/ |
|
if (NULL != pn->parent && |
|
NODE_OPTION == pn->parent->node && |
|
'-' == *cp) |
|
cp++; |
|
for (last = '\n'; '\0' != *cp; ) { |
if ('\n' == last) { |
if ('\n' == last) { |
/* Consume all whitespace. */ |
/* Consume all whitespace. */ |
if (isspace((int)*cp)) { |
if (isspace((int)*cp)) { |
Line 1065 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 1094 pnode_print(struct parse *p, struct pnode *pn) |
|
case (NODE_FILENAME): |
case (NODE_FILENAME): |
case (NODE_FUNCTION): |
case (NODE_FUNCTION): |
case (NODE_FUNCSYNOPSISINFO): |
case (NODE_FUNCSYNOPSISINFO): |
|
case (NODE_LITERAL): |
case (NODE_OPTION): |
case (NODE_OPTION): |
case (NODE_PARAMETER): |
case (NODE_PARAMETER): |
case (NODE_REPLACEABLE): |
case (NODE_REPLACEABLE): |