[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