This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[1/3] FYI: introduce completer_ftype


I'm checking this in.

This just adds a completer_ftype typedef and changes gdb to use it.

This is handy for the next patch, but also a reasonable cleanup on its
own.

Tom

>From 39bd7ef3fdb7095fa1d687f731c11a115b72a3cb Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@redhat.com>
Date: Tue, 12 Jun 2012 19:59:33 -0600
Subject: [PATCH 1/3] introduce completer_ftype typedef

	* breakpoint.c (add_catch_command): Use completer_ftype.
	* breakpoint.h: Include command.h.
	(add_catch_command): Use completer_ftype.
	* cli/cli-decode.c (set_cmd_completer): Use completer_ftype.
	* cli/cli-decode.h (struct cmd_list_element) <completer>:
	Use completer_ftype.
	* command.h (completer_ftype): New typedef.
	(set_cmd_completer): Use it.
	* python/py-cmd.c (struct cmdpy_completer) <completer>: Use
	completer_ftype.
---
 gdb/breakpoint.c     |    3 +--
 gdb/breakpoint.h     |    4 ++--
 gdb/cli/cli-decode.c |    4 +---
 gdb/cli/cli-decode.h |    3 +--
 gdb/command.h        |    6 +++---
 gdb/python/py-cmd.c  |    2 +-
 6 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 9c4348f..8e90298 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -15200,8 +15200,7 @@ void
 add_catch_command (char *name, char *docstring,
 		   void (*sfunc) (char *args, int from_tty,
 				  struct cmd_list_element *command),
-                   char **(*completer) (struct cmd_list_element *cmd,
-                                         char *text, char *word),
+		   completer_ftype *completer,
 		   void *user_data_catch,
 		   void *user_data_tcatch)
 {
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index a957b6f..2ad80d6 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -23,6 +23,7 @@
 #include "value.h"
 #include "vec.h"
 #include "ax.h"
+#include "command.h"
 
 struct value;
 struct block;
@@ -1187,8 +1188,7 @@ extern void
   add_catch_command (char *name, char *docstring,
 		     void (*sfunc) (char *args, int from_tty,
 				    struct cmd_list_element *command),
-		     char **(*completer) (struct cmd_list_element *cmd,
-					  char *text, char *word),
+		     completer_ftype *completer,
 		     void *user_data_catch,
 		     void *user_data_tcatch);
 
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index 2dc8192..2974d11 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -119,9 +119,7 @@ cmd_type (struct cmd_list_element *cmd)
 }
 
 void
-set_cmd_completer (struct cmd_list_element *cmd,
-		   char **(*completer) (struct cmd_list_element *self,
-					char *text, char *word))
+set_cmd_completer (struct cmd_list_element *cmd, completer_ftype *completer)
 {
   cmd->completer = completer; /* Ok.  */
 }
diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h
index 6027123..b5e0790 100644
--- a/gdb/cli/cli-decode.h
+++ b/gdb/cli/cli-decode.h
@@ -168,8 +168,7 @@ struct cmd_list_element
        For example, suppose TEXT is "foo" and we want to complete to
        "foobar".  If WORD is "oo", return "oobar"; if WORD is
        "baz/foo", return "baz/foobar".  */
-    char **(*completer) (struct cmd_list_element *cmd, 
-			 char *text, char *word);
+    completer_ftype *completer;
 
     /* Destruction routine for this command.  If non-NULL, this is
        called when this command instance is destroyed.  This may be
diff --git a/gdb/command.h b/gdb/command.h
index c18e2dd..eba3a5b 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -149,9 +149,9 @@ typedef void cmd_sfunc_ftype (char *args, int from_tty,
 extern void set_cmd_sfunc (struct cmd_list_element *cmd,
 			   cmd_sfunc_ftype *sfunc);
 
-extern void set_cmd_completer (struct cmd_list_element *,
-			       char **(*completer) (struct cmd_list_element *,
-						    char *, char *));
+typedef char **completer_ftype (struct cmd_list_element *, char *, char *);
+
+extern void set_cmd_completer (struct cmd_list_element *, completer_ftype *);
 
 /* HACK: cagney/2002-02-23: Code, mostly in tracepoints.c, grubs
    around in cmd objects to test the value of the commands sfunc().  */
diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c
index 04476db..605c8c0 100644
--- a/gdb/python/py-cmd.c
+++ b/gdb/python/py-cmd.c
@@ -35,7 +35,7 @@ struct cmdpy_completer
   /* Python symbol name.  */
   char *name;
   /* Completion function.  */
-  char **(*completer) (struct cmd_list_element *, char *, char *);
+  completer_ftype *completer;
 };
 
 static struct cmdpy_completer completers[] =
-- 
1.7.7.6


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]