This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFC] -mi-level command
- From: "Alain Magloire" <alain at qnx dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 7 May 2003 14:34:19 -0400 (EDT)
- Subject: [RFC] -mi-level command
Bonjour
Maybe there is a better way to do this, most clients of GDB/MI
need a way to know the level to adjust the parsing or go around bugs in
previous(or current version).
One problem with the code below is that mi_version() is returning ..."3"
I'll be happy to provide docs etc .. after.
8<---8<---------------------------------------
Index: mi-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmds.c,v
retrieving revision 1.12
diff -u -r1.12 mi-cmds.c
--- mi-cmds.c 4 May 2003 03:50:13 -0000 1.12
+++ mi-cmds.c 7 May 2003 18:24:34 -0000
@@ -96,6 +96,7 @@
{"kod-list", 0, 0},
{"kod-list-object-types", 0, 0},
{"kod-show", 0, 0},
+ {"mi-level", 0, 0, mi_cmd_mi_level},
{"overlay-auto", 0, 0},
{"overlay-list-mapping-state", 0, 0},
{"overlay-list-overlays", 0, 0},
Index: mi-cmds.h
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmds.h,v
retrieving revision 1.9
diff -u -r1.9 mi-cmds.h
--- mi-cmds.h 4 May 2003 03:50:13 -0000 1.9
+++ mi-cmds.h 7 May 2003 18:24:34 -0000
@@ -81,6 +81,7 @@
extern mi_cmd_args_ftype mi_cmd_exec_until;
extern mi_cmd_args_ftype mi_cmd_exec_interrupt;
extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_file;
+extern mi_cmd_argv_ftype mi_cmd_mi_level;
extern mi_cmd_argv_ftype mi_cmd_gdb_exit;
extern mi_cmd_argv_ftype mi_cmd_interpreter_exec;
extern mi_cmd_argv_ftype mi_cmd_stack_info_depth;
Index: mi-main.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-main.c,v
retrieving revision 1.43
diff -u -r1.43 mi-main.c
--- mi-main.c 5 May 2003 17:56:57 -0000 1.43
+++ mi-main.c 7 May 2003 18:24:34 -0000
@@ -109,6 +109,13 @@
formalized. */
enum mi_cmd_result
+mi_cmd_mi_level (char *command, char **argv, int argc)
+{
+ ui_out_field_int (uiout, "level", mi_version(uiout));
+ return MI_CMD_DONE;
+}
+
+enum mi_cmd_result
mi_cmd_gdb_exit (char *command, char **argv, int argc)
{
/* We have to print everything right here because we never return */