diff --git a/lib/libncurses/termcap.c b/lib/libncurses/termcap.c index 0d98d7e78624..24e71d302df5 100644 --- a/lib/libncurses/termcap.c +++ b/lib/libncurses/termcap.c @@ -200,6 +200,7 @@ _nc_read_termcap_entry(const char *const name, TERMTYPE *const tp) tcs = pd - 1; for (;;) { while ((tok = strsep(&ps, ":")) != NULL && + *(tok - 2) != '\\' && (*tok == '\0' || *tok == '\\' || !isgraph(*tok))) ; if (tok == NULL) diff --git a/lib/ncurses/ncurses/termcap.c b/lib/ncurses/ncurses/termcap.c index 0d98d7e78624..24e71d302df5 100644 --- a/lib/ncurses/ncurses/termcap.c +++ b/lib/ncurses/ncurses/termcap.c @@ -200,6 +200,7 @@ _nc_read_termcap_entry(const char *const name, TERMTYPE *const tp) tcs = pd - 1; for (;;) { while ((tok = strsep(&ps, ":")) != NULL && + *(tok - 2) != '\\' && (*tok == '\0' || *tok == '\\' || !isgraph(*tok))) ; if (tok == NULL) diff --git a/share/termcap/termcap.5 b/share/termcap/termcap.5 index 432a42698e85..0f615e755dd7 100644 --- a/share/termcap/termcap.5 +++ b/share/termcap/termcap.5 @@ -817,8 +817,9 @@ and .Sy \&\e\e . If it is necessary to place a .Sy \&: -in a capability it must be escaped in -octal as +in a capability it must be escaped as +.Sy \e: +or be encoded as .Sy \&\e072 . If it is necessary to place a .Dv NUL