=================================================================== RCS file: /cvs/mandoc/Attic/mdoc_strings.c,v retrieving revision 1.15 retrieving revision 1.18 diff -u -p -r1.15 -r1.18 --- mandoc/Attic/mdoc_strings.c 2010/03/29 19:28:04 1.15 +++ mandoc/Attic/mdoc_strings.c 2010/05/09 21:06:50 1.18 @@ -1,4 +1,4 @@ -/* $Id: mdoc_strings.c,v 1.15 2010/03/29 19:28:04 kristaps Exp $ */ +/* $Id: mdoc_strings.c,v 1.18 2010/05/09 21:06:50 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -61,6 +61,10 @@ static const struct mdoc_secname secnames[SECNAME_MAX] }; +/* + * FIXME: this is repeated in print_text() (html.c) and term_word() + * (term.c). + */ int mdoc_iscdelim(char p) { @@ -71,8 +75,6 @@ mdoc_iscdelim(char p) case('('): /* FALLTHROUGH */ case('['): - /* FALLTHROUGH */ - case('{'): return(1); case('.'): /* FALLTHROUGH */ @@ -89,8 +91,6 @@ mdoc_iscdelim(char p) case(')'): /* FALLTHROUGH */ case(']'): - /* FALLTHROUGH */ - case('}'): return(2); default: break; @@ -104,11 +104,17 @@ int mdoc_isdelim(const char *p) { - if (0 == *p) + if ('\0' == p[0]) return(0); - if (0 != *(p + 1)) - return(0); - return(mdoc_iscdelim(*p)); + if ('\0' == p[1]) + return(mdoc_iscdelim(p[0])); + + /* + * XXX; account for groff bubu where the \*(Ba reserved string + * is treated in exactly the same way as the vertical bar. This + * is the only function that checks for this. + */ + return(0 == strcmp(p, "\\*(Ba")); } @@ -127,7 +133,7 @@ mdoc_atosec(const char *p) /* FIXME: move this into an editable .in file. */ size_t -mdoc_macro2len(int macro) +mdoc_macro2len(enum mdoct macro) { switch (macro) {