aboutsummaryrefslogtreecommitdiffstats
path: root/g13/sh-cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'g13/sh-cmd.c')
-rw-r--r--g13/sh-cmd.c28
1 files changed, 4 insertions, 24 deletions
diff --git a/g13/sh-cmd.c b/g13/sh-cmd.c
index b57369d9c..791e3b7f4 100644
--- a/g13/sh-cmd.c
+++ b/g13/sh-cmd.c
@@ -28,6 +28,7 @@
#include "g13-syshelp.h"
#include <assuan.h>
#include "../common/i18n.h"
+#include "../common/asshelp.h"
#include "keyblob.h"
@@ -904,34 +905,13 @@ sh_encrypt_keyblob (ctrl_t ctrl, const void *keyblob, size_t keybloblen,
gpg_error_t
g13_status (ctrl_t ctrl, int no, ...)
{
- gpg_error_t err = 0;
+ gpg_error_t err;
va_list arg_ptr;
- const char *text;
va_start (arg_ptr, no);
- if (1)
- {
- assuan_context_t ctx = ctrl->server_local->assuan_ctx;
- char buf[950], *p;
- size_t n;
-
- p = buf;
- n = 0;
- while ( (text = va_arg (arg_ptr, const char *)) )
- {
- if (n)
- {
- *p++ = ' ';
- n++;
- }
- for ( ; *text && n < DIM (buf)-2; n++)
- *p++ = *text++;
- }
- *p = 0;
- err = assuan_write_status (ctx, get_status_string (no), buf);
- }
-
+ err = vprint_assuan_status_strings (ctrl->server_local->assuan_ctx,
+ get_status_string (no), arg_ptr);
va_end (arg_ptr);
return err;
}