From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (kristaps@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.3/8.14.3) with ESMTP id oB6E4BQm032452 for ; Mon, 6 Dec 2010 09:04:11 -0500 (EST) Received: (from kristaps@localhost) by krisdoz.my.domain (8.14.3/8.14.3/Submit) id oB6E4BJW011344; Mon, 6 Dec 2010 09:04:11 -0500 (EST) Date: Mon, 6 Dec 2010 09:04:11 -0500 (EST) Message-Id: <201012061404.oB6E4BJW011344@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: kristaps@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: My favourite: removing lots of code in favour of smaller, X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- My favourite: removing lots of code in favour of smaller, tighter code. Merge patch by schwarze@ consolidating RB, BR, etc. into one function. man_html.c already does this. Modified Files: -------------- mdocml: man_term.c Revision Data ------------- Index: man_term.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/man_term.c,v retrieving revision 1.87 retrieving revision 1.88 diff -Lman_term.c -Lman_term.c -u -p -r1.87 -r1.88 --- man_term.c +++ man_term.c @@ -80,14 +80,12 @@ static void print_man_foot(struct ter static void print_bvspace(struct termp *, const struct man_node *); +static int pre_alternate(DECL_ARGS); static int pre_B(DECL_ARGS); -static int pre_BI(DECL_ARGS); static int pre_HP(DECL_ARGS); static int pre_I(DECL_ARGS); static int pre_IP(DECL_ARGS); static int pre_PP(DECL_ARGS); -static int pre_RB(DECL_ARGS); -static int pre_RI(DECL_ARGS); static int pre_RS(DECL_ARGS); static int pre_SH(DECL_ARGS); static int pre_SS(DECL_ARGS); @@ -117,15 +115,15 @@ static const struct termact termacts[MAN { pre_HP, post_HP, 0 }, /* HP */ { NULL, NULL, 0 }, /* SM */ { pre_B, NULL, 0 }, /* SB */ - { pre_BI, NULL, 0 }, /* BI */ - { pre_BI, NULL, 0 }, /* IB */ - { pre_RB, NULL, 0 }, /* BR */ - { pre_RB, NULL, 0 }, /* RB */ + { pre_alternate, NULL, 0 }, /* BI */ + { pre_alternate, NULL, 0 }, /* IB */ + { pre_alternate, NULL, 0 }, /* BR */ + { pre_alternate, NULL, 0 }, /* RB */ { NULL, NULL, 0 }, /* R */ { pre_B, NULL, 0 }, /* B */ { pre_I, NULL, 0 }, /* I */ - { pre_RI, NULL, 0 }, /* IR */ - { pre_RI, NULL, 0 }, /* RI */ + { pre_alternate, NULL, 0 }, /* IR */ + { pre_alternate, NULL, 0 }, /* RI */ { NULL, NULL, MAN_NOTEXT }, /* na */ { pre_I, NULL, 0 }, /* i */ { pre_sp, NULL, MAN_NOTEXT }, /* sp */ @@ -250,94 +248,67 @@ pre_literal(DECL_ARGS) { term_newln(p); - switch (n->tok) { - case (MAN_nf): + + if (MAN_nf == n->tok) mt->fl |= MANT_LITERAL; - break; - default: + else mt->fl &= ~MANT_LITERAL; - break; - } return(1); } - - /* ARGSUSED */ static int -pre_RB(DECL_ARGS) +pre_alternate(DECL_ARGS) { - const struct man_node *nn; - int i; - - for (i = 0, nn = n->child; nn; nn = nn->next, i++) { - if (i % 2 && MAN_RB == n->tok) - term_fontrepl(p, TERMFONT_BOLD); - else if ( ! (i % 2) && MAN_RB != n->tok) - term_fontrepl(p, TERMFONT_BOLD); - else - term_fontrepl(p, TERMFONT_NONE); - - if (i > 0) - p->flags |= TERMP_NOSPACE; + enum termfont font[2]; + const struct man_node *nn; + int savelit, i; - print_man_node(p, mt, nn, m); + switch (n->tok) { + case (MAN_RB): + font[0] = TERMFONT_NONE; + font[1] = TERMFONT_BOLD; + break; + case (MAN_RI): + font[0] = TERMFONT_NONE; + font[1] = TERMFONT_UNDER; + break; + case (MAN_BR): + font[0] = TERMFONT_BOLD; + font[1] = TERMFONT_NONE; + break; + case (MAN_BI): + font[0] = TERMFONT_BOLD; + font[1] = TERMFONT_UNDER; + break; + case (MAN_IR): + font[0] = TERMFONT_UNDER; + font[1] = TERMFONT_NONE; + break; + case (MAN_IB): + font[0] = TERMFONT_UNDER; + font[1] = TERMFONT_BOLD; + break; + default: + abort(); } - return(0); -} + savelit = MANT_LITERAL & mt->fl; + mt->fl &= ~MANT_LITERAL; -/* ARGSUSED */ -static int -pre_RI(DECL_ARGS) -{ - const struct man_node *nn; - int i; - - for (i = 0, nn = n->child; nn; nn = nn->next, i++) { - if (i % 2 && MAN_RI == n->tok) - term_fontrepl(p, TERMFONT_UNDER); - else if ( ! (i % 2) && MAN_RI != n->tok) - term_fontrepl(p, TERMFONT_UNDER); - else - term_fontrepl(p, TERMFONT_NONE); - - if (i > 0) - p->flags |= TERMP_NOSPACE; - + for (i = 0, nn = n->child; nn; nn = nn->next, i = 1 - i) { + term_fontrepl(p, font[i]); + if (savelit && NULL == nn->next) + mt->fl |= MANT_LITERAL; print_man_node(p, mt, nn, m); - } - return(0); -} - - -/* ARGSUSED */ -static int -pre_BI(DECL_ARGS) -{ - const struct man_node *nn; - int i; - - for (i = 0, nn = n->child; nn; nn = nn->next, i++) { - if (i % 2 && MAN_BI == n->tok) - term_fontrepl(p, TERMFONT_UNDER); - else if (i % 2) - term_fontrepl(p, TERMFONT_BOLD); - else if (MAN_BI == n->tok) - term_fontrepl(p, TERMFONT_BOLD); - else - term_fontrepl(p, TERMFONT_UNDER); - - if (i) + if (nn->next) p->flags |= TERMP_NOSPACE; - - print_man_node(p, mt, nn, m); } + return(0); } - /* ARGSUSED */ static int pre_B(DECL_ARGS) @@ -346,7 +317,6 @@ pre_B(DECL_ARGS) term_fontrepl(p, TERMFONT_BOLD); return(1); } - /* ARGSUSED */ static int -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv