[Pkg-gnupg-commit] [libassuan] 352/437: Pass only the command name to the pre_cmd_notify() callback to keep ABI compatibility.

Eric Dorland eric at moszumanska.debian.org
Fri May 22 05:34:03 UTC 2015


This is an automated email from the git hooks/post-receive script.

eric pushed a commit to branch master
in repository libassuan.

commit 65078fa2e4b3a4404c8eec012783aaeb7925c685
Author: Ben Kibbey <bjk at luxsci.net>
Date:   Thu Feb 24 20:54:04 2011 -0500

    Pass only the command name to the pre_cmd_notify() callback to keep ABI compatibility.
---
 src/ChangeLog        |  6 ++++++
 src/assuan-defs.h    | 12 ++++++++++--
 src/assuan-handler.c |  6 +++---
 src/assuan.h.in      | 11 +----------
 4 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index c34af0c..fbb3797 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2011-02-28  Ben Kibbey  <bjk at luxsci.net>
+
+	* assuan-handler.c (assuan_register_pre_cmd_notify): Pass command
+	string as second argument.
+	* assuan.h (assuan_command_t): Move back to assuan-defs.h.
+
 2011-02-24  Ben Kibbey  <bjk at luxsci.net>
 
 	* assuan-handler.c (assuan_register_pre_cmd_notify): New callback.
diff --git a/src/assuan-defs.h b/src/assuan-defs.h
index da2a9d7..8a3fcc2 100644
--- a/src/assuan-defs.h
+++ b/src/assuan-defs.h
@@ -58,6 +58,14 @@
 #define _assuan_error(ctx, errcode) gpg_err_make ((ctx)->err_source, errcode)
 
 
+struct cmdtbl_s
+{
+  const char *name;
+  assuan_handler_t handler;
+  const char *helpstr;
+};
+
+
 

 /* The context we use with most functions. */
 struct assuan_context_s
@@ -188,7 +196,7 @@ struct assuan_context_s
   gpg_error_t (*accept_handler)(assuan_context_t);
   void (*finish_handler)(assuan_context_t);
 
-  assuan_command_t cmdtbl;
+  struct cmdtbl_s *cmdtbl;
   size_t cmdtbl_used; /* used entries */
   size_t cmdtbl_size; /* allocated size of table */
   
@@ -205,7 +213,7 @@ struct assuan_context_s
   assuan_handler_t output_notify_fnc;
 
   /* This function is called right before a command handler is called. */
-  gpg_error_t (*pre_cmd_notify_fnc)(assuan_context_t, assuan_command_t);
+  gpg_error_t (*pre_cmd_notify_fnc)(assuan_context_t, const char *cmd);
 
   /* This function is called right after a command has been processed.
      It may be used to command related cleanup.  */
diff --git a/src/assuan-handler.c b/src/assuan-handler.c
index 5016fcb..cb271fa 100644
--- a/src/assuan-handler.c
+++ b/src/assuan-handler.c
@@ -400,7 +400,7 @@ assuan_register_command (assuan_context_t ctx, const char *cmd_name,
     }
   else if (ctx->cmdtbl_used >= ctx->cmdtbl_size)
     {
-      struct _assuan_command_s *x;
+      struct cmdtbl_s *x;
 
       x = _assuan_realloc (ctx, ctx->cmdtbl, (ctx->cmdtbl_size+10) * sizeof *x);
       if (!x)
@@ -429,7 +429,7 @@ assuan_get_command_name (assuan_context_t ctx)
 gpg_error_t
 assuan_register_pre_cmd_notify (assuan_context_t ctx,
                                  gpg_error_t (*fnc)(assuan_context_t,
-				   assuan_command_t))
+				   const char *cmd))
 {
   if (!ctx)
     return _assuan_error (ctx, GPG_ERR_ASS_INV_VALUE);
@@ -602,7 +602,7 @@ dispatch_command (assuan_context_t ctx, char *line, int linelen)
   linelen -= shift;
 
   if (ctx->pre_cmd_notify_fnc) {
-    err = ctx->pre_cmd_notify_fnc(ctx, &ctx->cmdtbl[i]);
+    err = ctx->pre_cmd_notify_fnc(ctx, ctx->cmdtbl[i].name);
 
     if (err)
       return PROCESS_DONE(ctx, err);
diff --git a/src/assuan.h.in b/src/assuan.h.in
index 630aefd..426fc4c 100644
--- a/src/assuan.h.in
+++ b/src/assuan.h.in
@@ -273,22 +273,13 @@ void assuan_set_log_stream (assuan_context_t ctx, FILE *fp);
 

 typedef gpg_error_t (*assuan_handler_t) (assuan_context_t, char *);
 
-struct _assuan_command_s
-{
-  const char *name;
-  assuan_handler_t handler;
-  const char *helpstr;
-};
-
-typedef struct _assuan_command_s *assuan_command_t;
-
 /*-- assuan-handler.c --*/
 gpg_error_t assuan_register_command (assuan_context_t ctx,
 				     const char *cmd_string,
 				     assuan_handler_t handler,
                                      const char *help_string);
 gpg_error_t assuan_register_pre_cmd_notify (assuan_context_t ctx,
-					     gpg_error_t (*fnc)(assuan_context_t, assuan_command_t));
+					     gpg_error_t (*fnc)(assuan_context_t, const char *cmd));
 gpg_error_t assuan_register_post_cmd_notify (assuan_context_t ctx,
 					     void (*fnc)(assuan_context_t,
                                                          gpg_error_t));

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/libassuan.git



More information about the Pkg-gnupg-commit mailing list