diff options
Diffstat (limited to 'lib/libedit/parse.c')
-rw-r--r-- | lib/libedit/parse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libedit/parse.c b/lib/libedit/parse.c index 751cc19..dd5bd94 100644 --- a/lib/libedit/parse.c +++ b/lib/libedit/parse.c @@ -193,14 +193,14 @@ parse__escape(ptr) break; } } - else if (*p == '^' && isalpha((unsigned char) p[1])) { + else if (*p == '^' && isascii(p[1]) && (p[1] == '?' || isalpha(p[1]))) { p++; c = (*p == '?') ? '\177' : (*p & 0237); } else c = *p; *ptr = ++p; - return c; + return (unsigned char)c; } /* parse__string(): |