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)