=================================================================== RCS file: /cvs/mandoc/man_term.c,v retrieving revision 1.52 retrieving revision 1.55 diff -u -p -r1.52 -r1.55 --- mandoc/man_term.c 2009/11/12 05:50:12 1.52 +++ mandoc/man_term.c 2010/01/01 17:14:28 1.55 @@ -1,4 +1,4 @@ -/* $Id: man_term.c,v 1.52 2009/11/12 05:50:12 kristaps Exp $ */ +/* $Id: man_term.c,v 1.55 2010/01/01 17:14:28 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -14,6 +14,10 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include #include @@ -63,11 +67,6 @@ struct termact { void (*post)(DECL_ARGS); }; -#ifdef __linux__ -extern size_t strlcpy(char *, const char *, size_t); -extern size_t strlcat(char *, const char *, size_t); -#endif - static int a2width(const struct man_node *); static int a2height(const struct man_node *); @@ -104,7 +103,6 @@ static void post_RS(DECL_ARGS); static void post_SH(DECL_ARGS); static void post_SS(DECL_ARGS); static void post_TP(DECL_ARGS); -static void post_i(DECL_ARGS); static const struct termact termacts[MAN_MAX] = { { pre_br, NULL }, /* br */ @@ -129,7 +127,7 @@ static const struct termact termacts[MAN_MAX] = { { pre_RI, NULL }, /* IR */ { pre_RI, NULL }, /* RI */ { NULL, NULL }, /* na */ - { pre_I, post_i }, /* i */ + { pre_I, NULL }, /* i */ { pre_sp, NULL }, /* sp */ { pre_nf, NULL }, /* nf */ { pre_fi, NULL }, /* fi */ @@ -244,17 +242,6 @@ pre_I(DECL_ARGS) /* ARGSUSED */ -static void -post_i(DECL_ARGS) -{ - - /* FIXME */ - /*if (n->nchild) - p->under--;*/ -} - - -/* ARGSUSED */ static int pre_fi(DECL_ARGS) { @@ -795,7 +782,7 @@ post_RS(DECL_ARGS) static void print_man_node(DECL_ARGS) { - int c, sz; + int c; c = 1; @@ -805,17 +792,8 @@ print_man_node(DECL_ARGS) term_vspace(p); break; } - /* - * Note! This is hacky. Here, we recognise the `\c' - * escape embedded in so many -man pages. It's supposed - * to remove the subsequent space, so we mark NOSPACE if - * it's encountered in the string. - */ - sz = (int)strlen(n->string); + term_word(p, n->string); - if (sz >= 2 && n->string[sz - 1] == 'c' && - n->string[sz - 2] == '\\') - p->flags |= TERMP_NOSPACE; /* FIXME: this means that macro lines are munged! */