diff options
Diffstat (limited to 'read.c')
-rw-r--r-- | read.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -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++); |