version 1.155, 2011/03/22 14:05:45 |
version 1.156, 2011/04/04 15:33:03 |
Line 1696 mdoc_fo_post(MDOC_ARGS) |
|
Line 1696 mdoc_fo_post(MDOC_ARGS) |
|
static int |
static int |
mdoc_in_pre(MDOC_ARGS) |
mdoc_in_pre(MDOC_ARGS) |
{ |
{ |
const struct mdoc_node *nn; |
struct tag *t; |
struct tag *t; |
struct htmlpair tag[2]; |
struct htmlpair tag[2]; |
int i; |
int i; |
|
|
|
synopsis_pre(h, n); |
synopsis_pre(h, n); |
|
|
PAIR_CLASS_INIT(&tag[0], "includes"); |
PAIR_CLASS_INIT(&tag[0], "includes"); |
print_otag(h, TAG_B, 1, tag); |
print_otag(h, TAG_B, 1, tag); |
|
|
|
/* |
|
* The first argument of the `In' gets special treatment as |
|
* being a linked value. Subsequent values are printed |
|
* afterward. groff does similarly. This also handles the case |
|
* of no children. |
|
*/ |
|
|
if (MDOC_SYNPRETTY & n->flags && MDOC_LINE & n->flags) |
if (MDOC_SYNPRETTY & n->flags && MDOC_LINE & n->flags) |
print_text(h, "#include"); |
print_text(h, "#include"); |
|
|
print_text(h, "<"); |
print_text(h, "<"); |
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
|
|
for (nn = n->child; nn; nn = nn->next) { |
if (NULL != (n = n->child)) { |
|
assert(MDOC_TEXT == n->type); |
|
|
PAIR_CLASS_INIT(&tag[0], "link-includes"); |
PAIR_CLASS_INIT(&tag[0], "link-includes"); |
i = 1; |
|
bufinit(h); |
bufinit(h); |
|
|
|
i = 1; |
|
|
if (h->base_includes) { |
if (h->base_includes) { |
buffmt_includes(h, nn->string); |
buffmt_includes(h, n->string); |
PAIR_HREF_INIT(&tag[i], h->buf); |
PAIR_HREF_INIT(&tag[i++], h->buf); |
i++; |
} |
} |
|
t = print_otag(h, TAG_A, i, tag); |
t = print_otag(h, TAG_A, i, tag); |
print_mdoc_node(m, nn, h); |
print_text(h, n->string); |
print_tagq(h, t); |
print_tagq(h, t); |
|
|
|
n = n->next; |
} |
} |
|
|
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
print_text(h, ">"); |
print_text(h, ">"); |
|
|
|
for ( ; n; n = n->next) { |
|
assert(MDOC_TEXT == n->type); |
|
print_text(h, n->string); |
|
} |
|
|
return(0); |
return(0); |
} |
} |