From bd5d3f5fd99118e223a09bf7792543bd79040d94 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Sun, 9 May 2010 21:06:50 +0000 Subject: Explicitly account for \*(Ba when checking for delims. Noted by Jason McIntyre via Ingo Schwarze. --- mdoc_strings.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'mdoc_strings.c') diff --git a/mdoc_strings.c b/mdoc_strings.c index bfe4c652..33f5da15 100644 --- a/mdoc_strings.c +++ b/mdoc_strings.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_strings.c,v 1.17 2010/05/08 07:30:19 kristaps Exp $ */ +/* $Id: mdoc_strings.c,v 1.18 2010/05/09 21:06:50 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -70,7 +70,7 @@ mdoc_iscdelim(char p) { switch (p) { - case('|'): /* FIXME! */ + case('|'): /* FALLTHROUGH */ case('('): /* FALLTHROUGH */ @@ -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")); } -- cgit v1.2.3