version 1.5, 2014/03/28 10:03:36 |
version 1.6, 2014/03/28 10:08:24 |
|
|
int stop; /* should we stop now? */ |
int stop; /* should we stop now? */ |
struct pnode *root; /* root of parse tree */ |
struct pnode *root; /* root of parse tree */ |
struct pnode *cur; /* current node in tree */ |
struct pnode *cur; /* current node in tree */ |
|
unsigned int flags; |
|
#define PARSE_HAS_META 1 |
char *b; |
char *b; |
size_t bsz; |
size_t bsz; |
size_t mbsz; |
size_t mbsz; |
Line 638 pnode_printmacroline(struct parse *p, struct pnode *pn |
|
Line 640 pnode_printmacroline(struct parse *p, struct pnode *pn |
|
} |
} |
|
|
static void |
static void |
|
pnode_printrefsynopsisdiv(struct parse *p, struct pnode *pn) |
|
{ |
|
struct pnode *pp; |
|
|
|
TAILQ_FOREACH(pp, &pn->childq, child) |
|
if (NODE_TITLE == pp->node) { |
|
pnode_unlink(pp); |
|
break; |
|
} |
|
|
|
puts(".Sh SYNOPSIS"); |
|
} |
|
|
|
static void |
pnode_printrefsect(struct parse *p, struct pnode *pn) |
pnode_printrefsect(struct parse *p, struct pnode *pn) |
{ |
{ |
struct pnode *pp; |
struct pnode *pp; |
Line 872 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 888 pnode_print(struct parse *p, struct pnode *pn) |
|
case (NODE_REFMETA): |
case (NODE_REFMETA): |
pnode_printrefmeta(p, pn); |
pnode_printrefmeta(p, pn); |
pnode_unlinksub(pn); |
pnode_unlinksub(pn); |
|
p->flags |= PARSE_HAS_META; |
break; |
break; |
case (NODE_REFNAME): |
case (NODE_REFNAME): |
fputs(".Nm ", stdout); |
fputs(".Nm ", stdout); |
Line 879 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 896 pnode_print(struct parse *p, struct pnode *pn) |
|
pnode_unlinksub(pn); |
pnode_unlinksub(pn); |
return; |
return; |
case (NODE_REFNAMEDIV): |
case (NODE_REFNAMEDIV): |
|
if ( ! (PARSE_HAS_META & p->flags)) { |
|
puts(".Dd $Mdocdate" "$"); |
|
puts(".Dt UNKNOWN 1"); |
|
puts(".Os"); |
|
} |
puts(".Sh NAME"); |
puts(".Sh NAME"); |
break; |
break; |
case (NODE_REFPURPOSE): |
case (NODE_REFPURPOSE): |
Line 887 pnode_print(struct parse *p, struct pnode *pn) |
|
Line 909 pnode_print(struct parse *p, struct pnode *pn) |
|
pnode_unlinksub(pn); |
pnode_unlinksub(pn); |
return; |
return; |
case (NODE_REFSYNOPSISDIV): |
case (NODE_REFSYNOPSISDIV): |
puts(".Sh SYNOPSIS"); |
pnode_printrefsynopsisdiv(p, pn); |
break; |
break; |
case (NODE_REFSECT1): |
case (NODE_REFSECT1): |
pnode_printrefsect(p, pn); |
pnode_printrefsect(p, pn); |