From 6cb5be7813d4f7e9380929f900a6cbbb0e6756c6 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 1 Sep 2012 07:52:54 +0000 Subject: [PATCH] Fix unescape_char when not unescaping. read.c (unescape_char): Advance 'p' after copying the unescaped characters. Otherwise the backslashes are incorrectly erased from the original string. --- ChangeLog | 6 ++++++ read.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5e5e237e..99e75bc6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-09-01 Eli Zaretskii + + * read.c (unescape_char): Advance 'p' after copying the unescaped + characters. Otherwise the backslashes are incorrectly erased from + the original string. + 2012-03-05 Paul Smith Update copyright notices to use year ranges, as allowed by diff --git a/read.c b/read.c index 33bf1195..f075ef50 100644 --- a/read.c +++ b/read.c @@ -2242,9 +2242,9 @@ unescape_char (char *string, int c) /* It is, and there's >1 backslash. Take half of them. */ l /= 2; memcpy (p, s, l); - p += l; } s = e; + p += l; } *(p++) = *(s++);