version 1.12, 2009/06/12 09:18:00 |
version 1.15, 2009/06/17 18:42:42 |
Line 183 struct termact { |
|
Line 183 struct termact { |
|
}; |
}; |
|
|
static const struct termact termacts[MDOC_MAX] = { |
static const struct termact termacts[MDOC_MAX] = { |
{ NULL, NULL }, /* \" */ |
{ termp_ap_pre, NULL }, /* Ap */ |
{ NULL, NULL }, /* Dd */ |
{ NULL, NULL }, /* Dd */ |
{ NULL, NULL }, /* Dt */ |
{ NULL, NULL }, /* Dt */ |
{ NULL, NULL }, /* Os */ |
{ NULL, NULL }, /* Os */ |
Line 290 static const struct termact termacts[MDOC_MAX] = { |
|
Line 290 static const struct termact termacts[MDOC_MAX] = { |
|
{ NULL, NULL }, /* Fr */ |
{ NULL, NULL }, /* Fr */ |
{ termp_ud_pre, NULL }, /* Ud */ |
{ termp_ud_pre, NULL }, /* Ud */ |
{ termp_lb_pre, termp_lb_post }, /* Lb */ |
{ termp_lb_pre, termp_lb_post }, /* Lb */ |
{ termp_ap_pre, NULL }, /* Lb */ |
{ termp_pp_pre, NULL }, /* Lp */ |
{ termp_pp_pre, NULL }, /* Pp */ |
|
{ termp_lk_pre, NULL }, /* Lk */ |
{ termp_lk_pre, NULL }, /* Lk */ |
{ termp_mt_pre, NULL }, /* Mt */ |
{ termp_mt_pre, NULL }, /* Mt */ |
{ termp_brq_pre, termp_brq_post }, /* Brq */ |
{ termp_brq_pre, termp_brq_post }, /* Brq */ |
Line 336 mdoc_run(struct termp *p, const struct mdoc *m) |
|
Line 335 mdoc_run(struct termp *p, const struct mdoc *m) |
|
*/ |
*/ |
|
|
print_head(p, mdoc_meta(m)); |
print_head(p, mdoc_meta(m)); |
print_body(p, NULL, mdoc_meta(m), mdoc_node(m)); |
assert(mdoc_node(m)); |
|
assert(MDOC_ROOT == mdoc_node(m)->type); |
|
if (mdoc_node(m)->child) |
|
print_body(p, NULL, mdoc_meta(m), mdoc_node(m)->child); |
print_foot(p, mdoc_meta(m)); |
print_foot(p, mdoc_meta(m)); |
return(1); |
return(1); |
} |
} |
Line 415 print_foot(struct termp *p, const struct mdoc_meta *me |
|
Line 417 print_foot(struct termp *p, const struct mdoc_meta *me |
|
|
|
tm = localtime(&meta->date); |
tm = localtime(&meta->date); |
|
|
#ifdef __OpenBSD__ |
|
if (NULL == strftime(buf, p->rmargin, "%B %d, %Y", tm)) |
|
#else |
|
if (0 == strftime(buf, p->rmargin, "%B %d, %Y", tm)) |
if (0 == strftime(buf, p->rmargin, "%B %d, %Y", tm)) |
#endif |
|
err(1, "strftime"); |
err(1, "strftime"); |
|
|
(void)strlcpy(os, meta->os, p->rmargin); |
(void)strlcpy(os, meta->os, p->rmargin); |
Line 716 termp_it_pre(DECL_ARGS) |
|
Line 714 termp_it_pre(DECL_ARGS) |
|
{ |
{ |
const struct mdoc_node *bl, *n; |
const struct mdoc_node *bl, *n; |
char buf[7]; |
char buf[7]; |
int i, type, keys[3], vals[3]; |
int i, type, keys[3], vals[3], sv; |
size_t width, offset; |
size_t width, offset; |
|
|
if (MDOC_BLOCK == node->type) |
if (MDOC_BLOCK == node->type) |
Line 900 termp_it_pre(DECL_ARGS) |
|
Line 898 termp_it_pre(DECL_ARGS) |
|
|
|
/* |
/* |
* The dash, hyphen, bullet and enum lists all have a special |
* The dash, hyphen, bullet and enum lists all have a special |
* HEAD character. Print it now. |
* HEAD character (temporarily bold, in some cases). |
*/ |
*/ |
|
|
|
sv = p->flags; |
if (MDOC_HEAD == node->type) |
if (MDOC_HEAD == node->type) |
switch (type) { |
switch (type) { |
case (MDOC_Bullet): |
case (MDOC_Bullet): |
|
p->flags |= TERMP_BOLD; |
term_word(p, "\\[bu]"); |
term_word(p, "\\[bu]"); |
break; |
break; |
case (MDOC_Dash): |
case (MDOC_Dash): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (MDOC_Hyphen): |
case (MDOC_Hyphen): |
|
p->flags |= TERMP_BOLD; |
term_word(p, "\\-"); |
term_word(p, "\\-"); |
break; |
break; |
case (MDOC_Enum): |
case (MDOC_Enum): |
Line 922 termp_it_pre(DECL_ARGS) |
|
Line 923 termp_it_pre(DECL_ARGS) |
|
default: |
default: |
break; |
break; |
} |
} |
|
|
|
p->flags = sv; /* Restore saved flags. */ |
|
|
/* |
/* |
* If we're not going to process our children, indicate so here. |
* If we're not going to process our children, indicate so here. |