summaryrefslogtreecommitdiffstats
path: root/lib/libedit/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libedit/parse.c')
-rw-r--r--lib/libedit/parse.c4
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():
OpenPOWER on IntegriCloud