From e102a3f5cb96bfc2b5368c9587fc94ed96a4f491 Mon Sep 17 00:00:00 2001 From: ceriel Date: Tue, 30 Aug 1988 11:37:32 +0000 Subject: [PATCH] better checks for recursion in tc= --- lang/cem/libcc/stdio/termcap.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lang/cem/libcc/stdio/termcap.c b/lang/cem/libcc/stdio/termcap.c index 835e50be8..2ce923715 100644 --- a/lang/cem/libcc/stdio/termcap.c +++ b/lang/cem/libcc/stdio/termcap.c @@ -112,12 +112,17 @@ check_for_tc() return(0); /* no : in termcap entry */ if (p[1] != 't' || p[2] != 'c') return(1); - if (++count > 16) return(0); /* recursion in tc= definitions */ + if (count > 16) return(0); /* recursion in tc= definitions */ + count++; strcpy(terminalname, &p[4]); q = terminalname; while (*q && *q != ':') q++; *q = 0; - if (tgetent(buf, terminalname) != 1) return(0); + if (tgetent(buf, terminalname) != 1) { + ---count; + return(0); + } + --count; for (q = buf; *q && *q != ':'; q++) { } strcpy(p, q); capab = savcapab; -- 2.34.1