From 91bc7833836f19256d56984c94cacf44853ff5c8 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 24 May 2016 15:54:48 +0200 Subject: gpgtar: Simplify code by using ccparray. * tools/gpgtar-create.c (gpgtar_create): Use ccparray functions. * tools/gpgtar-extract.c (gpgtar_extract): Ditto. * tools/gpgtar-list.c (gpgtar_list): Ditto. Signed-off-by: Werner Koch --- tools/gpgtar-list.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'tools/gpgtar-list.c') diff --git a/tools/gpgtar-list.c b/tools/gpgtar-list.c index 25c70d2a5..930712a7f 100644 --- a/tools/gpgtar-list.c +++ b/tools/gpgtar-list.c @@ -27,6 +27,7 @@ #include "i18n.h" #include "gpgtar.h" #include "../common/exectool.h" +#include "../common/ccparray.h" @@ -299,8 +300,8 @@ gpgtar_list (const char *filename, int decrypt) if (decrypt) { - int i; strlist_t arg; + ccparray_t ccp; const char **argv; cipher_stream = stream; @@ -311,19 +312,19 @@ gpgtar_list (const char *filename, int decrypt) goto leave; } - argv = xtrycalloc (strlist_length (opt.gpg_arguments) + 2, - sizeof *argv); - if (argv == NULL) + ccparray_init (&ccp, 0); + + ccparray_put (&ccp, "--decrypt"); + for (arg = opt.gpg_arguments; arg; arg = arg->next) + ccparray_put (&ccp, arg->d); + + ccparray_put (&ccp, NULL); + argv = ccparray_get (&ccp, NULL); + if (!argv) { err = gpg_error_from_syserror (); goto leave; } - i = 0; - argv[i++] = "--decrypt"; - for (arg = opt.gpg_arguments; arg; arg = arg->next) - argv[i++] = arg->d; - argv[i++] = NULL; - assert (i == strlist_length (opt.gpg_arguments) + 2); err = gnupg_exec_tool_stream (opt.gpg_program, argv, cipher_stream, stream); -- cgit v1.2.3