common: Change yet unused status_printf function.
authorWerner Koch <wk@gnupg.org>
Fri, 2 Aug 2019 11:10:29 +0000 (13:10 +0200)
committerWerner Koch <wk@gnupg.org>
Fri, 2 Aug 2019 11:10:29 +0000 (13:10 +0200)
* common/asshelp2.c (status_printf): Rename to status_no_printf.
(status_printf): New.
--

Using the the status identifier from status.h is a good idea for the
external API but for some inter-component status line a keyword is a
better way.

Signed-off-by: Werner Koch <wk@gnupg.org>
common/asshelp.h
common/asshelp2.c

index c2c87e3..a04a077 100644 (file)
@@ -87,7 +87,9 @@ void set_assuan_context_func (assuan_context_t (*func)(ctrl_t ctrl));
 /* Helper function to print an assuan status line using a printf
    format string.  */
 
-gpg_error_t status_printf (ctrl_t ctrl, int no, const char *format,
+gpg_error_t status_printf (ctrl_t ctrl, const char *keyword, const char *format,
+                           ...) GPGRT_ATTR_PRINTF(3,4);
+gpg_error_t status_no_printf (ctrl_t ctrl, int no, const char *format,
                            ...) GPGRT_ATTR_PRINTF(3,4);
 
 gpg_error_t print_assuan_status (assuan_context_t ctx,
index 32e60df..8410808 100644 (file)
@@ -157,7 +157,26 @@ print_assuan_status_strings (assuan_context_t ctx, const char *keyword, ...)
 /* This function is similar to print_assuan_status but takes a CTRL
  * arg instead of an assuan context as first argument.  */
 gpg_error_t
-status_printf (ctrl_t ctrl, int no, const char *format, ...)
+status_printf (ctrl_t ctrl, const char *keyword, const char *format, ...)
+{
+  gpg_error_t err;
+  va_list arg_ptr;
+  assuan_context_t ctx;
+
+  if (!ctrl || !the_assuan_ctx_func || !(ctx = the_assuan_ctx_func (ctrl)))
+    return 0;
+
+  va_start (arg_ptr, format);
+  err = vprint_assuan_status (ctx, keyword, format, arg_ptr);
+  va_end (arg_ptr);
+  return err;
+}
+
+
+/* Same as sytus_printf but takes a status number instead of a
+ * keyword.  */
+gpg_error_t
+status_no_printf (ctrl_t ctrl, int no, const char *format, ...)
 {
   gpg_error_t err;
   va_list arg_ptr;