diff options
author | Werner Koch <[email protected]> | 2012-02-07 11:46:32 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2012-02-07 11:46:32 +0000 |
commit | e78585cd0f553d92f332e33810ab636758bc88a2 (patch) | |
tree | a2685ce99e3f76607c0d5cfe0b05398e3dcd330e /common | |
parent | Add an item to NEWS. (diff) | |
download | gnupg-e78585cd0f553d92f332e33810ab636758bc88a2.tar.gz gnupg-e78585cd0f553d92f332e33810ab636758bc88a2.zip |
agent: New function agent_print_status.
* common/asshelp2.c (vprint_assuan_status): New.
(print_assuan_status): Re-implement using above func.
* agent/command.c (agent_print_status): New.
Diffstat (limited to '')
-rw-r--r-- | common/asshelp.h | 4 | ||||
-rw-r--r-- | common/asshelp2.c | 26 |
2 files changed, 24 insertions, 6 deletions
diff --git a/common/asshelp.h b/common/asshelp.h index 68be28961..a6cf14002 100644 --- a/common/asshelp.h +++ b/common/asshelp.h @@ -72,6 +72,10 @@ gpg_error_t print_assuan_status (assuan_context_t ctx, const char *keyword, const char *format, ...) JNLIB_GCC_A_PRINTF(3,4); +gpg_error_t vprint_assuan_status (assuan_context_t ctx, + const char *keyword, + const char *format, + va_list arg_ptr) JNLIB_GCC_A_PRINTF(3,0); #endif /*GNUPG_COMMON_ASSHELP_H*/ diff --git a/common/asshelp2.c b/common/asshelp2.c index 762a14df6..2c0c9e8ba 100644 --- a/common/asshelp2.c +++ b/common/asshelp2.c @@ -30,20 +30,34 @@ /* Helper function to print an assuan status line using a printf format string. */ gpg_error_t -print_assuan_status (assuan_context_t ctx, - const char *keyword, - const char *format, ...) +vprint_assuan_status (assuan_context_t ctx, + const char *keyword, + const char *format, va_list arg_ptr) { - va_list arg_ptr; int rc; char *buf; - va_start (arg_ptr, format); rc = estream_vasprintf (&buf, format, arg_ptr); - va_end (arg_ptr); if (rc < 0) return gpg_err_make (default_errsource, gpg_err_code_from_syserror ()); rc = assuan_write_status (ctx, keyword, buf); xfree (buf); return rc; } + + +/* Helper function to print an assuan status line using a printf + format string. */ +gpg_error_t +print_assuan_status (assuan_context_t ctx, + const char *keyword, + const char *format, ...) +{ + va_list arg_ptr; + gpg_error_t err; + + va_start (arg_ptr, format); + err = vprint_assuan_status (ctx, keyword, format, arg_ptr); + va_end (arg_ptr); + return err; +} |