From 6da4c15f22a1ef117949dc3001b2ccc204f90884 Mon Sep 17 00:00:00 2001 From: Jason Molenda Date: Fri, 10 Apr 1998 22:49:13 +0000 Subject: [PATCH] Fri Apr 10 15:48:10 1998 Jason Molenda (crash@bugshack.cygnus.com) * gdbtk.c (gdb_listfiles): Allocate space for 'files' dynamically. Harumph, my change got lost in the foundry->devo merge. --- gdb/ChangeLog-gdbtk | 4 ++++ gdb/gdbtk.c | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog-gdbtk b/gdb/ChangeLog-gdbtk index ce53f5a9d87..fe226d011ae 100644 --- a/gdb/ChangeLog-gdbtk +++ b/gdb/ChangeLog-gdbtk @@ -1,3 +1,7 @@ +Fri Apr 10 15:48:10 1998 Jason Molenda (crash@bugshack.cygnus.com) + + * gdbtk.c (gdb_listfiles): Allocate space for 'files' dynamically. + Thu Apr 9 14:20:59 1998 Martin M. Hunt * gdbtk.c (gdbtk_init): Remove redundant variable "IDE". diff --git a/gdb/gdbtk.c b/gdb/gdbtk.c index d6e66a595e8..a0a5d4d10a8 100644 --- a/gdb/gdbtk.c +++ b/gdb/gdbtk.c @@ -1278,10 +1278,14 @@ gdb_listfiles (clientData, interp, objc, objv) struct objfile *objfile; struct partial_symtab *psymtab; struct symtab *symtab; - char *lastfile, *pathname, *files[1000]; + char *lastfile, *pathname, **files; + int files_size; int i, numfiles = 0, len = 0; Tcl_Obj *mylist; + files_size = 1000; + files = (char **) xmalloc (sizeof (char *) * files_size); + if (objc > 2) { Tcl_WrongNumArgs (interp, 1, objv, "Usage: gdb_listfiles ?pathname?"); @@ -1294,6 +1298,11 @@ gdb_listfiles (clientData, interp, objc, objv) ALL_PSYMTABS (objfile, psymtab) { + if (numfiles == files_size) + { + files_size = files_size * 2; + files = (char **) xrealloc (files, sizeof (char *) * files_size); + } if (len == 0) { if (psymtab->filename) @@ -1307,6 +1316,11 @@ gdb_listfiles (clientData, interp, objc, objv) ALL_SYMTABS (objfile, symtab) { + if (numfiles == files_size) + { + files_size = files_size * 2; + files = (char **) xrealloc (files, sizeof (char *) * files_size); + } if (len == 0) { if (symtab->filename) @@ -1328,6 +1342,7 @@ gdb_listfiles (clientData, interp, objc, objv) lastfile = files[i]; } Tcl_SetObjResult (interp, mylist); + free (files); return TCL_OK; } -- 2.30.2