dpb@ai.mit.edu (Don Bennett 433-3311, 408) (07/18/89)
dbxread.c is #ifdef'ed for BROKEN_LARGE_ALLOCA in one place,
there are two other places that require similar treatment.
Don Bennett (408)433-3311
dpb@frame.com
Frame Technology
*** odbxread.c Mon Jul 17 17:48:55 1989
--- dbxread.c Mon Jul 17 17:54:52 1989
***************
*** 2714,2720 ****
lseek (desc, STRING_TABLE_OFFSET, L_SET);
READ_STRING_TABLE_SIZE (stsize);
if (stsize >= 0 && stsize < statbuf.st_size)
! stringtab = (char *) alloca (stsize);
else
stringtab = NULL;
if (stringtab == NULL)
--- 2714,2727 ----
lseek (desc, STRING_TABLE_OFFSET, L_SET);
READ_STRING_TABLE_SIZE (stsize);
if (stsize >= 0 && stsize < statbuf.st_size)
! {
! #ifdef BROKEN_LARGE_ALLOCA
! stringtab = (char *) xmalloc (stsize);
! make_cleanup (free, stringtab);
! #else
! stringtab = (char *) alloca (stsize);
! #endif
! }
else
stringtab = NULL;
if (stringtab == NULL)
***************
*** 3448,3454 ****
stat (name, &statbuf);
READ_STRING_TABLE_SIZE (buffer);
if (buffer >= 0 && buffer < statbuf.st_size)
! stringtab = (char *) alloca (buffer);
else
stringtab = NULL;
if (stringtab == NULL)
--- 3455,3468 ----
stat (name, &statbuf);
READ_STRING_TABLE_SIZE (buffer);
if (buffer >= 0 && buffer < statbuf.st_size)
! {
! #ifdef BROKEN_LARGE_ALLOCA
! stringtab = (char *) xmalloc (buffer);
! make_cleanup (free, stringtab);
! #else
! stringtab = (char *) alloca (buffer);
! #endif
! }
else
stringtab = NULL;
if (stringtab == NULL)