Make sure tspace is large enough to hold all capabilities.

This commit is contained in:
jdc 2000-06-12 20:48:34 +00:00
parent 221a99f782
commit 2d0dfab73b
1 changed files with 6 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: setterm.c,v 1.24 2000/06/03 06:33:12 blymn Exp $ */
/* $NetBSD: setterm.c,v 1.25 2000/06/12 20:48:34 jdc Exp $ */
/*
* Copyright (c) 1981, 1993, 1994
@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)setterm.c 8.8 (Berkeley) 10/25/94";
#else
__RCSID("$NetBSD: setterm.c,v 1.24 2000/06/03 06:33:12 blymn Exp $");
__RCSID("$NetBSD: setterm.c,v 1.25 2000/06/12 20:48:34 jdc Exp $");
#endif
#endif /* not lint */
@ -285,7 +285,7 @@ zap(struct tinfo *tinfo)
*tmp = *namp;
*(tmp + 1) = *(namp + 1);
t_getstr(tinfo, tmp, NULL, &i);
tspace_size += i;
tspace_size += i + 1;
namp += 2;
} while (*namp);
@ -340,11 +340,12 @@ getcap(char *name)
char *new_tspace;
/* verify cap exists and grab size of it at the same time */
t_getstr(_cursesi_genbuf, name, NULL, &ent_size);
if (t_getstr(_cursesi_genbuf, name, NULL, &ent_size) == ERR)
return ERR;
/* grow tspace to hold the new cap */
if ((new_tspace = realloc(tspace, ent_size + tspace_size)) == NULL)
return NULL;
return ERR;
/* point aoftspace to the same place in the newly allocated buffer */
offset = aoftspace - tspace;