version 1.189, 2014/04/20 20:18:12 |
version 1.206, 2014/09/27 10:56:18 |
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
*/ |
*/ |
#ifdef HAVE_CONFIG_H |
|
#include "config.h" |
#include "config.h" |
#endif |
|
|
|
#include <sys/types.h> |
#include <sys/types.h> |
|
|
Line 97 static int mdoc_it_pre(MDOC_ARGS); |
|
Line 95 static int mdoc_it_pre(MDOC_ARGS); |
|
static int mdoc_lb_pre(MDOC_ARGS); |
static int mdoc_lb_pre(MDOC_ARGS); |
static int mdoc_li_pre(MDOC_ARGS); |
static int mdoc_li_pre(MDOC_ARGS); |
static int mdoc_lk_pre(MDOC_ARGS); |
static int mdoc_lk_pre(MDOC_ARGS); |
static int mdoc_ll_pre(MDOC_ARGS); |
|
static int mdoc_mt_pre(MDOC_ARGS); |
static int mdoc_mt_pre(MDOC_ARGS); |
static int mdoc_ms_pre(MDOC_ARGS); |
static int mdoc_ms_pre(MDOC_ARGS); |
static int mdoc_nd_pre(MDOC_ARGS); |
static int mdoc_nd_pre(MDOC_ARGS); |
Line 111 static int mdoc_quote_pre(MDOC_ARGS); |
|
Line 108 static int mdoc_quote_pre(MDOC_ARGS); |
|
static int mdoc_rs_pre(MDOC_ARGS); |
static int mdoc_rs_pre(MDOC_ARGS); |
static int mdoc_rv_pre(MDOC_ARGS); |
static int mdoc_rv_pre(MDOC_ARGS); |
static int mdoc_sh_pre(MDOC_ARGS); |
static int mdoc_sh_pre(MDOC_ARGS); |
|
static int mdoc_skip_pre(MDOC_ARGS); |
static int mdoc_sm_pre(MDOC_ARGS); |
static int mdoc_sm_pre(MDOC_ARGS); |
static int mdoc_sp_pre(MDOC_ARGS); |
static int mdoc_sp_pre(MDOC_ARGS); |
static int mdoc_ss_pre(MDOC_ARGS); |
static int mdoc_ss_pre(MDOC_ARGS); |
Line 157 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
Line 155 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
{mdoc_nd_pre, NULL}, /* Nd */ |
{mdoc_nd_pre, NULL}, /* Nd */ |
{mdoc_nm_pre, NULL}, /* Nm */ |
{mdoc_nm_pre, NULL}, /* Nm */ |
{mdoc_quote_pre, mdoc_quote_post}, /* Op */ |
{mdoc_quote_pre, mdoc_quote_post}, /* Op */ |
{NULL, NULL}, /* Ot */ |
{mdoc_ft_pre, NULL}, /* Ot */ |
{mdoc_pa_pre, NULL}, /* Pa */ |
{mdoc_pa_pre, NULL}, /* Pa */ |
{mdoc_rv_pre, NULL}, /* Rv */ |
{mdoc_rv_pre, NULL}, /* Rv */ |
{NULL, NULL}, /* St */ |
{NULL, NULL}, /* St */ |
Line 227 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
Line 225 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
{NULL, NULL}, /* Ek */ |
{NULL, NULL}, /* Ek */ |
{mdoc_bt_pre, NULL}, /* Bt */ |
{mdoc_bt_pre, NULL}, /* Bt */ |
{NULL, NULL}, /* Hf */ |
{NULL, NULL}, /* Hf */ |
{NULL, NULL}, /* Fr */ |
{mdoc_em_pre, NULL}, /* Fr */ |
{mdoc_ud_pre, NULL}, /* Ud */ |
{mdoc_ud_pre, NULL}, /* Ud */ |
{mdoc_lb_pre, NULL}, /* Lb */ |
{mdoc_lb_pre, NULL}, /* Lb */ |
{mdoc_pp_pre, NULL}, /* Lp */ |
{mdoc_pp_pre, NULL}, /* Lp */ |
Line 237 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
Line 235 static const struct htmlmdoc mdocs[MDOC_MAX] = { |
|
{mdoc_quote_pre, mdoc_quote_post}, /* Bro */ |
{mdoc_quote_pre, mdoc_quote_post}, /* Bro */ |
{NULL, NULL}, /* Brc */ |
{NULL, NULL}, /* Brc */ |
{mdoc__x_pre, mdoc__x_post}, /* %C */ |
{mdoc__x_pre, mdoc__x_post}, /* %C */ |
{NULL, NULL}, /* Es */ /* TODO */ |
{mdoc_skip_pre, NULL}, /* Es */ |
{NULL, NULL}, /* En */ /* TODO */ |
{mdoc_quote_pre, mdoc_quote_post}, /* En */ |
{mdoc_xx_pre, NULL}, /* Dx */ |
{mdoc_xx_pre, NULL}, /* Dx */ |
{mdoc__x_pre, mdoc__x_post}, /* %Q */ |
{mdoc__x_pre, mdoc__x_post}, /* %Q */ |
{mdoc_sp_pre, NULL}, /* br */ |
{mdoc_sp_pre, NULL}, /* br */ |
{mdoc_sp_pre, NULL}, /* sp */ |
{mdoc_sp_pre, NULL}, /* sp */ |
{mdoc__x_pre, mdoc__x_post}, /* %U */ |
{mdoc__x_pre, mdoc__x_post}, /* %U */ |
{NULL, NULL}, /* Ta */ |
{NULL, NULL}, /* Ta */ |
{mdoc_ll_pre, NULL}, /* ll */ |
{mdoc_skip_pre, NULL}, /* ll */ |
}; |
}; |
|
|
static const char * const lists[LIST_MAX] = { |
static const char * const lists[LIST_MAX] = { |
Line 316 synopsis_pre(struct html *h, const struct mdoc_node *n |
|
Line 314 synopsis_pre(struct html *h, const struct mdoc_node *n |
|
case MDOC_In: |
case MDOC_In: |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case MDOC_Vt: |
case MDOC_Vt: |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
break; |
break; |
case MDOC_Ft: |
case MDOC_Ft: |
if (MDOC_Fn != n->tok && MDOC_Fo != n->tok) { |
if (MDOC_Fn != n->tok && MDOC_Fo != n->tok) { |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
break; |
break; |
} |
} |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
Line 380 print_mdoc_head(MDOC_ARGS) |
|
Line 378 print_mdoc_head(MDOC_ARGS) |
|
|
|
print_gen_head(h); |
print_gen_head(h); |
bufinit(h); |
bufinit(h); |
bufcat_fmt(h, "%s(%s)", meta->title, meta->msec); |
bufcat(h, meta->title); |
|
if (meta->msec) |
|
bufcat_fmt(h, "(%s)", meta->msec); |
if (meta->arch) |
if (meta->arch) |
bufcat_fmt(h, " (%s)", meta->arch); |
bufcat_fmt(h, " (%s)", meta->arch); |
|
|
Line 485 print_mdoc_node(MDOC_ARGS) |
|
Line 484 print_mdoc_node(MDOC_ARGS) |
|
static void |
static void |
mdoc_root_post(MDOC_ARGS) |
mdoc_root_post(MDOC_ARGS) |
{ |
{ |
struct htmlpair tag[3]; |
struct htmlpair tag; |
struct tag *t, *tt; |
struct tag *t, *tt; |
|
|
PAIR_SUMMARY_INIT(&tag[0], "Document Footer"); |
PAIR_CLASS_INIT(&tag, "foot"); |
PAIR_CLASS_INIT(&tag[1], "foot"); |
t = print_otag(h, TAG_TABLE, 1, &tag); |
PAIR_INIT(&tag[2], ATTR_WIDTH, "100%"); |
|
t = print_otag(h, TAG_TABLE, 3, tag); |
|
PAIR_INIT(&tag[0], ATTR_WIDTH, "50%"); |
|
print_otag(h, TAG_COL, 1, tag); |
|
print_otag(h, TAG_COL, 1, tag); |
|
|
|
print_otag(h, TAG_TBODY, 0, NULL); |
print_otag(h, TAG_TBODY, 0, NULL); |
|
|
tt = print_otag(h, TAG_TR, 0, NULL); |
tt = print_otag(h, TAG_TR, 0, NULL); |
|
|
PAIR_CLASS_INIT(&tag[0], "foot-date"); |
PAIR_CLASS_INIT(&tag, "foot-date"); |
print_otag(h, TAG_TD, 1, tag); |
print_otag(h, TAG_TD, 1, &tag); |
print_text(h, meta->date); |
print_text(h, meta->date); |
print_stagq(h, tt); |
print_stagq(h, tt); |
|
|
PAIR_CLASS_INIT(&tag[0], "foot-os"); |
PAIR_CLASS_INIT(&tag, "foot-os"); |
PAIR_INIT(&tag[1], ATTR_ALIGN, "right"); |
print_otag(h, TAG_TD, 1, &tag); |
print_otag(h, TAG_TD, 2, tag); |
|
print_text(h, meta->os); |
print_text(h, meta->os); |
print_tagq(h, t); |
print_tagq(h, t); |
} |
} |
Line 515 mdoc_root_post(MDOC_ARGS) |
|
Line 508 mdoc_root_post(MDOC_ARGS) |
|
static int |
static int |
mdoc_root_pre(MDOC_ARGS) |
mdoc_root_pre(MDOC_ARGS) |
{ |
{ |
char b[BUFSIZ]; |
struct htmlpair tag; |
struct htmlpair tag[3]; |
|
struct tag *t, *tt; |
struct tag *t, *tt; |
char *title; |
char *volume, *title; |
|
|
strlcpy(b, meta->vol, BUFSIZ); |
if (NULL == meta->arch) |
|
volume = mandoc_strdup(meta->vol); |
|
else |
|
mandoc_asprintf(&volume, "%s (%s)", |
|
meta->vol, meta->arch); |
|
|
if (meta->arch) { |
if (NULL == meta->msec) |
strlcat(b, " (", BUFSIZ); |
title = mandoc_strdup(meta->title); |
strlcat(b, meta->arch, BUFSIZ); |
else |
strlcat(b, ")", BUFSIZ); |
mandoc_asprintf(&title, "%s(%s)", |
} |
meta->title, meta->msec); |
|
|
mandoc_asprintf(&title, "%s(%s)", meta->title, meta->msec); |
PAIR_CLASS_INIT(&tag, "head"); |
|
t = print_otag(h, TAG_TABLE, 1, &tag); |
|
|
PAIR_SUMMARY_INIT(&tag[0], "Document Header"); |
|
PAIR_CLASS_INIT(&tag[1], "head"); |
|
PAIR_INIT(&tag[2], ATTR_WIDTH, "100%"); |
|
t = print_otag(h, TAG_TABLE, 3, tag); |
|
PAIR_INIT(&tag[0], ATTR_WIDTH, "30%"); |
|
print_otag(h, TAG_COL, 1, tag); |
|
print_otag(h, TAG_COL, 1, tag); |
|
print_otag(h, TAG_COL, 1, tag); |
|
|
|
print_otag(h, TAG_TBODY, 0, NULL); |
print_otag(h, TAG_TBODY, 0, NULL); |
|
|
tt = print_otag(h, TAG_TR, 0, NULL); |
tt = print_otag(h, TAG_TR, 0, NULL); |
|
|
PAIR_CLASS_INIT(&tag[0], "head-ltitle"); |
PAIR_CLASS_INIT(&tag, "head-ltitle"); |
print_otag(h, TAG_TD, 1, tag); |
print_otag(h, TAG_TD, 1, &tag); |
print_text(h, title); |
print_text(h, title); |
print_stagq(h, tt); |
print_stagq(h, tt); |
|
|
PAIR_CLASS_INIT(&tag[0], "head-vol"); |
PAIR_CLASS_INIT(&tag, "head-vol"); |
PAIR_INIT(&tag[1], ATTR_ALIGN, "center"); |
print_otag(h, TAG_TD, 1, &tag); |
print_otag(h, TAG_TD, 2, tag); |
print_text(h, volume); |
print_text(h, b); |
|
print_stagq(h, tt); |
print_stagq(h, tt); |
|
|
PAIR_CLASS_INIT(&tag[0], "head-rtitle"); |
PAIR_CLASS_INIT(&tag, "head-rtitle"); |
PAIR_INIT(&tag[1], ATTR_ALIGN, "right"); |
print_otag(h, TAG_TD, 1, &tag); |
print_otag(h, TAG_TD, 2, tag); |
|
print_text(h, title); |
print_text(h, title); |
print_tagq(h, t); |
print_tagq(h, t); |
|
|
free(title); |
free(title); |
|
free(volume); |
return(1); |
return(1); |
} |
} |
|
|
Line 569 mdoc_sh_pre(MDOC_ARGS) |
|
Line 556 mdoc_sh_pre(MDOC_ARGS) |
|
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag; |
|
|
if (MDOC_BLOCK == n->type) { |
switch (n->type) { |
|
case MDOC_BLOCK: |
PAIR_CLASS_INIT(&tag, "section"); |
PAIR_CLASS_INIT(&tag, "section"); |
print_otag(h, TAG_DIV, 1, &tag); |
print_otag(h, TAG_DIV, 1, &tag); |
return(1); |
return(1); |
} else if (MDOC_BODY == n->type) |
case MDOC_BODY: |
|
if (n->sec == SEC_AUTHORS) |
|
h->flags &= ~(HTML_SPLIT|HTML_NOSPLIT); |
return(1); |
return(1); |
|
default: |
|
break; |
|
} |
|
|
bufinit(h); |
bufinit(h); |
bufcat(h, "x"); |
bufcat(h, "x"); |
Line 639 mdoc_fl_pre(MDOC_ARGS) |
|
Line 632 mdoc_fl_pre(MDOC_ARGS) |
|
|
|
print_text(h, "\\-"); |
print_text(h, "\\-"); |
|
|
if (n->child) |
if ( ! (n->nchild == 0 && |
|
(n->next == NULL || |
|
n->next->type == MDOC_TEXT || |
|
n->next->flags & MDOC_LINE))) |
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
else if (n->next && n->next->line == n->line) |
|
h->flags |= HTML_NOSPACE; |
|
|
|
return(1); |
return(1); |
} |
} |
Line 701 mdoc_nm_pre(MDOC_ARGS) |
|
Line 695 mdoc_nm_pre(MDOC_ARGS) |
|
if (0 == len && meta->name) |
if (0 == len && meta->name) |
len = html_strlen(meta->name); |
len = html_strlen(meta->name); |
|
|
SCALE_HS_INIT(&su, (double)len); |
SCALE_HS_INIT(&su, len); |
bufinit(h); |
bufinit(h); |
bufcat_su(h, "width", &su); |
bufcat_su(h, "width", &su); |
PAIR_STYLE_INIT(&tag, h); |
PAIR_STYLE_INIT(&tag, h); |
Line 993 mdoc_bl_pre(MDOC_ARGS) |
|
Line 987 mdoc_bl_pre(MDOC_ARGS) |
|
PAIR_STYLE_INIT(&tag[0], h); |
PAIR_STYLE_INIT(&tag[0], h); |
|
|
assert(lists[n->norm->Bl.type]); |
assert(lists[n->norm->Bl.type]); |
strlcpy(buf, "list ", BUFSIZ); |
(void)strlcpy(buf, "list ", BUFSIZ); |
strlcat(buf, lists[n->norm->Bl.type], BUFSIZ); |
(void)strlcat(buf, lists[n->norm->Bl.type], BUFSIZ); |
PAIR_INIT(&tag[1], ATTR_CLASS, buf); |
PAIR_INIT(&tag[1], ATTR_CLASS, buf); |
|
|
/* Set the block's left-hand margin. */ |
/* Set the block's left-hand margin. */ |
Line 1071 mdoc_ex_pre(MDOC_ARGS) |
|
Line 1065 mdoc_ex_pre(MDOC_ARGS) |
|
} |
} |
|
|
if (nchild > 1) |
if (nchild > 1) |
print_text(h, "utilities exit"); |
print_text(h, "utilities exit\\~0"); |
else |
else |
print_text(h, "utility exits"); |
print_text(h, "utility exits\\~0"); |
|
|
print_text(h, "0 on success, and >0 if an error occurs."); |
print_text(h, "on success, and\\~>0 if an error occurs."); |
return(0); |
return(0); |
} |
} |
|
|
Line 1162 mdoc_bd_pre(MDOC_ARGS) |
|
Line 1156 mdoc_bd_pre(MDOC_ARGS) |
|
break; |
break; |
} |
} |
if ( ! comp) |
if ( ! comp) |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
return(1); |
return(1); |
} |
} |
|
|
Line 1256 mdoc_an_pre(MDOC_ARGS) |
|
Line 1250 mdoc_an_pre(MDOC_ARGS) |
|
{ |
{ |
struct htmlpair tag; |
struct htmlpair tag; |
|
|
/* TODO: -split and -nosplit (see termp_an_pre()). */ |
if (n->norm->An.auth == AUTH_split) { |
|
h->flags &= ~HTML_NOSPLIT; |
|
h->flags |= HTML_SPLIT; |
|
return(0); |
|
} |
|
if (n->norm->An.auth == AUTH_nosplit) { |
|
h->flags &= ~HTML_SPLIT; |
|
h->flags |= HTML_NOSPLIT; |
|
return(0); |
|
} |
|
|
|
if (n->child == NULL) |
|
return(0); |
|
|
|
if (h->flags & HTML_SPLIT) |
|
print_otag(h, TAG_BR, 0, NULL); |
|
|
|
if (n->sec == SEC_AUTHORS && ! (h->flags & HTML_NOSPLIT)) |
|
h->flags |= HTML_SPLIT; |
|
|
PAIR_CLASS_INIT(&tag, "author"); |
PAIR_CLASS_INIT(&tag, "author"); |
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, &tag); |
return(1); |
return(1); |
Line 1363 mdoc_fd_pre(MDOC_ARGS) |
|
Line 1375 mdoc_fd_pre(MDOC_ARGS) |
|
|
|
if (NULL != (n = n->next)) { |
if (NULL != (n = n->next)) { |
assert(MDOC_TEXT == n->type); |
assert(MDOC_TEXT == n->type); |
|
|
|
/* |
|
* XXX This is broken and not easy to fix. |
|
* When using -Oincludes, truncation may occur. |
|
* Dynamic allocation wouldn't help because |
|
* passing long strings to buffmt_includes() |
|
* does not work either. |
|
*/ |
|
|
strlcpy(buf, '<' == *n->string || '"' == *n->string ? |
strlcpy(buf, '<' == *n->string || '"' == *n->string ? |
n->string + 1 : n->string, BUFSIZ); |
n->string + 1 : n->string, BUFSIZ); |
|
|
Line 1475 mdoc_fn_pre(MDOC_ARGS) |
|
Line 1496 mdoc_fn_pre(MDOC_ARGS) |
|
|
|
t = print_otag(h, TAG_B, 1, tag); |
t = print_otag(h, TAG_B, 1, tag); |
|
|
if (sp) { |
if (sp) |
strlcpy(nbuf, sp, BUFSIZ); |
print_text(h, sp); |
print_text(h, nbuf); |
|
} |
|
|
|
print_tagq(h, t); |
print_tagq(h, t); |
|
|
|
|
mdoc_sm_pre(MDOC_ARGS) |
mdoc_sm_pre(MDOC_ARGS) |
{ |
{ |
|
|
assert(n->child && MDOC_TEXT == n->child->type); |
if (NULL == n->child) |
if (0 == strcmp("on", n->child->string)) { |
h->flags ^= HTML_NONOSPACE; |
/* |
else if (0 == strcmp("on", n->child->string)) |
* FIXME: no p->col to check. Thus, if we have |
|
* .Bd -literal |
|
* .Sm off |
|
* 1 2 |
|
* .Sm on |
|
* 3 |
|
* .Ed |
|
* the "3" is preceded by a space. |
|
*/ |
|
h->flags &= ~HTML_NOSPACE; |
|
h->flags &= ~HTML_NONOSPACE; |
h->flags &= ~HTML_NONOSPACE; |
} else |
else |
h->flags |= HTML_NONOSPACE; |
h->flags |= HTML_NONOSPACE; |
|
|
|
if ( ! (HTML_NONOSPACE & h->flags)) |
|
h->flags &= ~HTML_NOSPACE; |
|
|
return(0); |
return(0); |
} |
} |
|
|
static int |
static int |
mdoc_ll_pre(MDOC_ARGS) |
mdoc_skip_pre(MDOC_ARGS) |
{ |
{ |
|
|
return(0); |
return(0); |
|
|
mdoc_pp_pre(MDOC_ARGS) |
mdoc_pp_pre(MDOC_ARGS) |
{ |
{ |
|
|
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
return(0); |
return(0); |
} |
} |
|
|
Line 1567 mdoc_sp_pre(MDOC_ARGS) |
|
Line 1579 mdoc_sp_pre(MDOC_ARGS) |
|
if ( ! a2roffsu(n->string, &su, SCALE_VS)) |
if ( ! a2roffsu(n->string, &su, SCALE_VS)) |
SCALE_VS_INIT(&su, atoi(n->string)); |
SCALE_VS_INIT(&su, atoi(n->string)); |
} else |
} else |
su.scale = 0; |
su.scale = 0.0; |
|
|
bufinit(h); |
bufinit(h); |
bufcat_su(h, "height", &su); |
bufcat_su(h, "height", &su); |
Line 1746 mdoc_rv_pre(MDOC_ARGS) |
|
Line 1758 mdoc_rv_pre(MDOC_ARGS) |
|
|
|
PAIR_CLASS_INIT(&tag, "fname"); |
PAIR_CLASS_INIT(&tag, "fname"); |
|
|
print_text(h, "The"); |
|
|
|
nchild = n->nchild; |
nchild = n->nchild; |
for (n = n->child; n; n = n->next) { |
if (nchild > 0) { |
assert(MDOC_TEXT == n->type); |
print_text(h, "The"); |
|
|
t = print_otag(h, TAG_B, 1, &tag); |
for (n = n->child; n; n = n->next) { |
print_text(h, n->string); |
t = print_otag(h, TAG_B, 1, &tag); |
print_tagq(h, t); |
print_text(h, n->string); |
|
print_tagq(h, t); |
|
|
h->flags |= HTML_NOSPACE; |
|
print_text(h, "()"); |
|
|
|
if (nchild > 2 && n->next) { |
|
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
print_text(h, ","); |
print_text(h, "()"); |
|
|
|
if (n->next == NULL) |
|
continue; |
|
|
|
if (nchild > 2) { |
|
h->flags |= HTML_NOSPACE; |
|
print_text(h, ","); |
|
} |
|
if (n->next->next == NULL) |
|
print_text(h, "and"); |
} |
} |
|
|
if (n->next && NULL == n->next->next) |
if (nchild > 1) |
print_text(h, "and"); |
print_text(h, "functions return"); |
} |
else |
|
print_text(h, "function returns"); |
|
|
if (nchild > 1) |
print_text(h, "the value\\~0 if successful;"); |
print_text(h, "functions return"); |
} else |
else |
print_text(h, "Upon successful completion," |
print_text(h, "function returns"); |
" the value\\~0 is returned;"); |
|
|
print_text(h, "the value 0 if successful; otherwise the " |
print_text(h, "otherwise the value\\~\\-1 is returned" |
"value -1 is returned and the global variable"); |
" and the global variable"); |
|
|
PAIR_CLASS_INIT(&tag, "var"); |
PAIR_CLASS_INIT(&tag, "var"); |
t = print_otag(h, TAG_B, 1, &tag); |
t = print_otag(h, TAG_B, 1, &tag); |
Line 1872 mdoc_rs_pre(MDOC_ARGS) |
|
Line 1890 mdoc_rs_pre(MDOC_ARGS) |
|
return(1); |
return(1); |
|
|
if (n->prev && SEC_SEE_ALSO == n->sec) |
if (n->prev && SEC_SEE_ALSO == n->sec) |
print_otag(h, TAG_P, 0, NULL); |
print_paragraph(h); |
|
|
PAIR_CLASS_INIT(&tag, "ref"); |
PAIR_CLASS_INIT(&tag, "ref"); |
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, &tag); |
Line 2080 mdoc_quote_pre(MDOC_ARGS) |
|
Line 2098 mdoc_quote_pre(MDOC_ARGS) |
|
PAIR_CLASS_INIT(&tag, "opt"); |
PAIR_CLASS_INIT(&tag, "opt"); |
print_otag(h, TAG_SPAN, 1, &tag); |
print_otag(h, TAG_SPAN, 1, &tag); |
break; |
break; |
|
case MDOC_En: |
|
if (NULL == n->norm->Es || |
|
NULL == n->norm->Es->child) |
|
return(1); |
|
print_text(h, n->norm->Es->child->string); |
|
break; |
case MDOC_Eo: |
case MDOC_Eo: |
break; |
break; |
case MDOC_Do: |
case MDOC_Do: |
Line 2123 mdoc_quote_post(MDOC_ARGS) |
|
Line 2147 mdoc_quote_post(MDOC_ARGS) |
|
if (MDOC_BODY != n->type) |
if (MDOC_BODY != n->type) |
return; |
return; |
|
|
h->flags |= HTML_NOSPACE; |
if (MDOC_En != n->tok) |
|
h->flags |= HTML_NOSPACE; |
|
|
switch (n->tok) { |
switch (n->tok) { |
case MDOC_Ao: |
case MDOC_Ao: |
Line 2144 mdoc_quote_post(MDOC_ARGS) |
|
Line 2169 mdoc_quote_post(MDOC_ARGS) |
|
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case MDOC_Bq: |
case MDOC_Bq: |
print_text(h, "\\(rB"); |
print_text(h, "\\(rB"); |
|
break; |
|
case MDOC_En: |
|
if (NULL != n->norm->Es && |
|
NULL != n->norm->Es->child && |
|
NULL != n->norm->Es->child->next) { |
|
h->flags |= HTML_NOSPACE; |
|
print_text(h, n->norm->Es->child->next->string); |
|
} |
break; |
break; |
case MDOC_Eo: |
case MDOC_Eo: |
break; |
break; |