]> git.cameronkatri.com Git - mandoc.git/commitdiff
After skipping an escape sequence with incomplete arguments,
authorIngo Schwarze <schwarze@openbsd.org>
Sun, 6 Jul 2014 18:51:13 +0000 (18:51 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Sun, 6 Jul 2014 18:51:13 +0000 (18:51 +0000)
do not throw away the rest of the string to be rendered.

term.c

diff --git a/term.c b/term.c
index c6a4015019c2fc6ffcd68203d15b6f883ea5dd82..2eaae01a1e65b389058fa3f60479bd9a524c80b3 100644 (file)
--- a/term.c
+++ b/term.c
@@ -1,4 +1,4 @@
-/*     $Id: term.c,v 1.223 2014/04/23 21:06:41 schwarze Exp $ */
+/*     $Id: term.c,v 1.224 2014/07/06 18:51:13 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -444,7 +444,7 @@ term_word(struct termp *p, const char *word)
                word++;
                esc = mandoc_escape(&word, &seq, &sz);
                if (ESCAPE_ERROR == esc)
-                       break;
+                       continue;
 
                if (TERMENC_ASCII != p->enc)
                        switch (esc) {
@@ -683,7 +683,7 @@ term_strlen(const struct termp *p, const char *cp)
                        cp++;
                        esc = mandoc_escape(&cp, &seq, &ssz);
                        if (ESCAPE_ERROR == esc)
-                               return(sz);
+                               continue;
 
                        if (TERMENC_ASCII != p->enc)
                                switch (esc) {