source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: The previous commit to this file broke the control flow keywords
@ 2014-07-01  0:32 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2014-07-01  0:32 UTC (permalink / raw)
  To: source

Log Message:
-----------
The previous commit to this file broke the control flow keywords \{ and \}
when they immediately follow a request or macro name, without intervening
whitespace.  Minimal fix.

The lesson learnt here is that, despite their appearance, \{ and \} are
not escape sequences, so never skip them when parsing for names.

Modified Files:
--------------
    mdocml:
        roff.c

Revision Data
-------------
Index: roff.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/roff.c,v
retrieving revision 1.214
retrieving revision 1.215
diff -Lroff.c -Lroff.c -u -p -r1.214 -r1.215
--- roff.c
+++ roff.c
@@ -2018,10 +2018,12 @@ roff_getname(struct roff *r, char **cpp,
 		}
 		if ('\\' != *cp)
 			continue;
+		namesz = cp - name;
+		if ('{' == cp[1] || '}' == cp[1])
+			break;
 		cp++;
 		if ('\\' == *cp)
 			continue;
-		namesz = cp - name - 1;
 		mandoc_msg(MANDOCERR_NAMESC, r->parse, ln, pos, NULL);
 		mandoc_escape((const char **)&cp, NULL, NULL);
 		break;
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-07-01  0:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-01  0:32 mdocml: The previous commit to this file broke the control flow keywords schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).