From 390db1686bea8852d19f42029363d12254349a44 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Thu, 8 Oct 2009 23:00:15 +0000 Subject: Consolidated some -man -Tascii functions. Added many -man -Thtml functions (almost complete). --- man_term.c | 87 +++++++++++++++++++++----------------------------------------- 1 file changed, 29 insertions(+), 58 deletions(-) (limited to 'man_term.c') diff --git a/man_term.c b/man_term.c index ab720594..5f6923ec 100644 --- a/man_term.c +++ b/man_term.c @@ -1,4 +1,4 @@ -/* $Id: man_term.c,v 1.34 2009/10/07 12:19:39 kristaps Exp $ */ +/* $Id: man_term.c,v 1.35 2009/10/08 23:00:15 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -61,10 +61,8 @@ struct termact { static int pre_B(DECL_ARGS); static int pre_BI(DECL_ARGS); -static int pre_BR(DECL_ARGS); static int pre_HP(DECL_ARGS); static int pre_I(DECL_ARGS); -static int pre_IB(DECL_ARGS); static int pre_IP(DECL_ARGS); static int pre_IR(DECL_ARGS); static int pre_PP(DECL_ARGS); @@ -105,8 +103,8 @@ static const struct termact termacts[MAN_MAX] = { { NULL, NULL }, /* SM */ { pre_B, post_B }, /* SB */ { pre_BI, NULL }, /* BI */ - { pre_IB, NULL }, /* IB */ - { pre_BR, NULL }, /* BR */ + { pre_BI, NULL }, /* IB */ + { pre_RB, NULL }, /* BR */ { pre_RB, NULL }, /* RB */ { NULL, NULL }, /* R */ { pre_B, post_B }, /* B */ @@ -293,30 +291,6 @@ pre_IR(DECL_ARGS) } -/* ARGSUSED */ -static int -pre_IB(DECL_ARGS) -{ - const struct man_node *nn; - int i; - - for (i = 0, nn = n->child; nn; nn = nn->next, i++) { - if (i % 2) - p->bold++; - else - p->under++; - if (i > 0) - p->flags |= TERMP_NOSPACE; - print_node(p, mt, nn, m); - if (i % 2) - p->bold--; - else - p->under--; - } - return(0); -} - - /* ARGSUSED */ static int pre_RB(DECL_ARGS) @@ -325,12 +299,19 @@ pre_RB(DECL_ARGS) int i; for (i = 0, nn = n->child; nn; nn = nn->next, i++) { - if (i % 2) + if (i % 2 && MAN_RB == n->tok) p->bold++; + else if ( ! (i % 2) && MAN_RB != n->tok) + p->bold++; + if (i > 0) p->flags |= TERMP_NOSPACE; + print_node(p, mt, nn, m); - if (i % 2) + + if (i % 2 && MAN_RB == n->tok) + p->bold--; + else if ( ! (i % 2) && MAN_RB != n->tok) p->bold--; } return(0); @@ -357,45 +338,35 @@ pre_RI(DECL_ARGS) } -/* ARGSUSED */ -static int -pre_BR(DECL_ARGS) -{ - const struct man_node *nn; - int i; - - for (i = 0, nn = n->child; nn; nn = nn->next, i++) { - if ( ! (i % 2)) - p->bold++; - if (i > 0) - p->flags |= TERMP_NOSPACE; - print_node(p, mt, nn, m); - if ( ! (i % 2)) - p->bold--; - } - return(0); -} - - /* ARGSUSED */ static int pre_BI(DECL_ARGS) { - const struct man_node *nn; - int i; + const struct man_node *nn; + int i; for (i = 0, nn = n->child; nn; nn = nn->next, i++) { - if (i % 2) + if (i % 2 && MAN_BI == n->tok) p->under++; - else + else if (i % 2) p->bold++; - if (i > 0) + else if (MAN_BI == n->tok) + p->bold++; + else + p->under++; + + if (i) p->flags |= TERMP_NOSPACE; print_node(p, mt, nn, m); - if (i % 2) + + if (i % 2 && MAN_BI == n->tok) p->under--; - else + else if (i % 2) p->bold--; + else if (MAN_BI == n->tok) + p->bold--; + else + p->under--; } return(0); } -- cgit v1.2.3