=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.101 retrieving revision 1.104 diff -u -p -r1.101 -r1.104 --- mandoc/mdoc_html.c 2010/08/07 17:20:17 1.101 +++ mandoc/mdoc_html.c 2010/09/04 20:18:53 1.104 @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.101 2010/08/07 17:20:17 schwarze Exp $ */ +/* $Id: mdoc_html.c,v 1.104 2010/09/04 20:18:53 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons * @@ -1183,7 +1183,7 @@ mdoc_bl_pre(MDOC_ARGS) ord = malloc(sizeof(struct ord)); if (NULL == ord) { perror(NULL); - exit(EXIT_FAILURE); + exit((int)MANDOCLEVEL_SYSERR); } ord->cookie = n; ord->pos = 1; @@ -2194,6 +2194,9 @@ mdoc__x_pre(MDOC_ARGS) switch (n->tok) { case(MDOC__A): PAIR_CLASS_INIT(&tag[0], "ref-auth"); + if (n->prev && MDOC__A == n->prev->tok) + if (NULL == n->next || MDOC__A != n->next->tok) + print_text(h, "and"); break; case(MDOC__B): PAIR_CLASS_INIT(&tag[0], "ref-book"); @@ -2246,6 +2249,7 @@ mdoc__x_pre(MDOC_ARGS) PAIR_HREF_INIT(&tag[1], n->child->string); print_otag(h, TAG_A, 2, tag); + return(1); } @@ -2254,6 +2258,11 @@ mdoc__x_pre(MDOC_ARGS) static void mdoc__x_post(MDOC_ARGS) { + + if (MDOC__A == n->tok && n->next && MDOC__A == n->next->tok) + if (NULL == n->next->next || MDOC__A != n->next->next->tok) + if (NULL == n->prev || MDOC__A != n->prev->tok) + return; /* TODO: %U */