summaryrefslogtreecommitdiff
path: root/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'read.c')
-rw-r--r--read.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/read.c b/read.c
index 8478c8d..d4bfb9c 100644
--- a/read.c
+++ b/read.c
@@ -2242,16 +2242,19 @@ unescape_char (char *string, int c)
l = e - s;
if (*e != c || l%2 == 0)
- /* It's not; just take it all without unescaping. */
- memcpy (p, s, l);
+ {
+ /* It's not; just take it all without unescaping. */
+ memcpy (p, s, l);
+ p += l;
+ }
else if (l > 1)
{
/* 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++);