# HG changeset patch # User Karl Heuer # Date 821231081 0 # Node ID 85063feb159be5a27d0247601535025bf5ee35ea # Parent 7717b68abd2eef51c7f5adc7e049fa2b84c62f2f (tgetent): Find all the tc caps that there are. diff -r 7717b68abd2e -r 85063feb159b src/termcap.c --- a/src/termcap.c Tue Jan 09 23:40:33 1996 +0000 +++ b/src/termcap.c Tue Jan 09 23:44:41 1996 +0000 @@ -423,7 +423,7 @@ register int fd; struct buffer buf; register char *bp1; - char *bp2; + char *tc_search_point; char *term; int malloc_size = 0; register int c; @@ -511,7 +511,7 @@ malloc_size = indirect ? strlen (tcenv) + 1 : buf.size; bp = (char *) xmalloc (malloc_size); } - bp1 = bp; + tc_search_point = bp1 = bp; if (indirect) /* Copy the data from the environment variable. */ @@ -542,11 +542,10 @@ malloc_size = bp1 - bp + buf.size; termcap_name = (char *) xrealloc (bp, malloc_size); bp1 += termcap_name - bp; + tc_search_point += termcap_name - bp; bp = termcap_name; } - bp2 = bp1; - /* Copy the line of the entry from buf into bp. */ termcap_name = buf.ptr; while ((*bp1++ = c = *termcap_name++) && c != '\n') @@ -560,7 +559,8 @@ /* Does this entry refer to another terminal type's entry? If something is found, copy it into heap and null-terminate it. */ - term = tgetst1 (find_capability (bp2, "tc"), (char **) 0); + tc_search_point = find_capability (tc_search_point, "tc"); + term = tgetst1 (tc_search_point, (char **) 0); } close (fd);