aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbtk.c
diff options
context:
space:
mode:
authorMartin Hunt <hunt@redhat.com>1999-02-09 22:18:52 +0000
committerMartin Hunt <hunt@redhat.com>1999-02-09 22:18:52 +0000
commit945df66affccebedf7f9bcc6b5d88850224aa241 (patch)
tree59f862918c9f0cd674368ab5ec4e5144cd06180c /gdb/gdbtk.c
parent8741159f8a410c65eaf66564a006812910a68b86 (diff)
downloadbinutils-945df66affccebedf7f9bcc6b5d88850224aa241.zip
binutils-945df66affccebedf7f9bcc6b5d88850224aa241.tar.gz
binutils-945df66affccebedf7f9bcc6b5d88850224aa241.tar.bz2
1999-02-09 Martin Hunt <hunt@cygnus.com>
* gdbtk-hooks.c: Remove gdbtk_ignorable_warning prototype. It is in gdbtk.h. (report_error): New function. Displays debugging information if a hook function fails. All hook functions should probably call this. (gdbtk_warning): Call report_error() if there is a problem. (gdbtk_register_changed): Call report_error() if there is a problem. (gdbtk_memory_changed): Call report_error() if there is a problem. (gdbtk_ignorable_warning): Pass along class argument. If there is a problem, call report_error(). * gdbtk-cmds.c: Remove TclDebug prototype. It is in gdbtk.h. (gdb_loadfile): Add class name to gdbtk_ignorable_warning call. * gdbtk.c (TclDebug): Add "priority" argument. Calls "dbug" instead of "debug". Removed non-ANSI ifdefs. * gdbtk.h: Fixed protos for gdbtk_ignorable_warning and TclDebug.
Diffstat (limited to 'gdb/gdbtk.c')
-rw-r--r--gdb/gdbtk.c42
1 files changed, 24 insertions, 18 deletions
diff --git a/gdb/gdbtk.c b/gdb/gdbtk.c
index eaa150e..f69a549 100644
--- a/gdb/gdbtk.c
+++ b/gdb/gdbtk.c
@@ -196,32 +196,38 @@ close_bfds ()
*/
void
-#ifdef ANSI_PROTOTYPES
-TclDebug (const char *fmt, ...)
-#else
-TclDebug (va_alist)
- va_dcl
-#endif
+TclDebug (char level, const char *fmt, ...)
{
va_list args;
- char buf[512], *v[2], *merge;
-
-#ifdef ANSI_PROTOTYPES
+ char buf[512], *v[3], *merge, *priority;
+
+ switch (level)
+ {
+ case 'W':
+ priority = "W";
+ break;
+ case 'E':
+ priority = "E";
+ break;
+ case 'X':
+ priority = "X";
+ break;
+ default:
+ priority = "I";
+ }
+
va_start (args, fmt);
-#else
- char *fmt;
- va_start (args);
- fmt = va_arg (args, char *);
-#endif
- v[0] = "debug";
- v[1] = buf;
+ v[0] = "dbug";
+ v[1] = priority;
+ v[2] = buf;
vsprintf (buf, fmt, args);
va_end (args);
- merge = Tcl_Merge (2, v);
- Tcl_Eval (gdbtk_interp, merge);
+ merge = Tcl_Merge (3, v);
+ if (Tcl_Eval (gdbtk_interp, merge) != TCL_OK)
+ Tcl_BackgroundError(gdbtk_interp);
Tcl_Free (merge);
}