From 7337619b6b88ab8c0311d5851b1d41e664dd44b9 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Wed, 27 Jul 2011 14:19:26 +0000 Subject: Fix hyphen-replacement loop. --- roff.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/roff.c b/roff.c index 4a0140d5..b864085f 100644 --- a/roff.c +++ b/roff.c @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.158 2011/07/27 13:47:26 kristaps Exp $ */ +/* $Id: roff.c,v 1.159 2011/07/27 14:19:26 kristaps Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2011 Ingo Schwarze @@ -530,6 +530,9 @@ roff_parsetext(char *p) sz = strcspn(p, "-\\"); p += sz; + if ('\0' == *p) + break; + if ('\\' == *p) { /* Skip over escapes. */ p++; @@ -538,20 +541,19 @@ roff_parsetext(char *p) if (ESCAPE_ERROR == esc) break; continue; - } else if ('-' != *p || p == start) { + } else if (p == start) { p++; continue; } l = *(p - 1); r = *(p + 1); - if ('\\' != l && '\t' != r && '\t' != l && ' ' != r && ' ' != l && '-' != r && '-' != l && ! isdigit((unsigned char)l) && - ! isdigit((unsigned char)r)) + ! isdigit((unsigned char)r)) *p = ASCII_HYPH; p++; } -- cgit v1.2.3-56-ge451