diff --git a/ncurses/tinfo/captoinfo.c b/ncurses/tinfo/captoinfo.c | |
index 8b3b83d1..9362105a 100644 | |
--- a/ncurses/tinfo/captoinfo.c | |
+++ b/ncurses/tinfo/captoinfo.c | |
@@ -216,12 +216,15 @@ cvtchar(register const char *sp) | |
} | |
break; | |
case '^': | |
+ len = 2; | |
c = UChar(*++sp); | |
- if (c == '?') | |
+ if (c == '?') { | |
c = 127; | |
- else | |
+ } else if (c == '\0') { | |
+ len = 1; | |
+ } else { | |
c &= 0x1f; | |
- len = 2; | |
+ } | |
break; | |
default: | |
c = UChar(*sp); |