(tgetent): Find all the tc caps that there are.
This commit is contained in:
parent
4a127b3b17
commit
f21b7e242c
1 changed files with 5 additions and 5 deletions
|
|
@ -423,7 +423,7 @@ tgetent (bp, name)
|
|||
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 @@ tgetent (bp, name)
|
|||
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 @@ tgetent (bp, name)
|
|||
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 @@ tgetent (bp, name)
|
|||
|
||||
/* 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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue