From db6f3eb926619dfe6ed2a9be197c51f9a1b6198c Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 4 Aug 2016 13:02:37 +0200 Subject: [PATCH] gpgconf: Add limited support for -0. * tools/gpgconf.h (opt): Add field 'null'. * tools/gpgconf.c: Add option --null/-0. (list_dirs): Use it here. -- This option changes the delimites for --list-dir with arguments from LF to Nul. Signed-off-by: Werner Koch --- tools/gpgconf.c | 8 +++++++- tools/gpgconf.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/gpgconf.c b/tools/gpgconf.c index ad61511d3..f7ce4c961 100644 --- a/tools/gpgconf.c +++ b/tools/gpgconf.c @@ -40,6 +40,7 @@ enum cmd_and_opt_values oVerbose = 'v', oRuntime = 'r', oComponent = 'c', + oNull = '0', oNoVerbose = 500, oHomedir, @@ -93,6 +94,7 @@ static ARGPARSE_OPTS opts[] = { oRuntime, "runtime", 0, N_("activate changes at runtime, if possible") }, /* hidden options */ { oHomedir, "homedir", 2, "@" }, + { oNull, "null", 0, "@" }, { oNoVerbose, "no-verbose", 0, "@"}, {0} }; @@ -197,7 +199,10 @@ list_dirs (estream_t fp, char **names) { for (j=0; names[j]; j++) if (!strcmp (names[j], list[idx].name)) - es_fprintf (fp, "%s\n", s); + { + es_fputs (s, fp); + es_putc (opt.null? '\0':'\n', fp); + } } xfree (tmp); @@ -241,6 +246,7 @@ main (int argc, char **argv) case oVerbose: opt.verbose++; break; case oNoVerbose: opt.verbose = 0; break; case oHomedir: gnupg_set_homedir (pargs.r.ret_str); break; + case oNull: opt.null = 1; break; case aListDirs: case aListComponents: diff --git a/tools/gpgconf.h b/tools/gpgconf.h index d63833dd9..a1e382819 100644 --- a/tools/gpgconf.h +++ b/tools/gpgconf.h @@ -29,6 +29,7 @@ struct int quiet; /* Be extra quiet. */ int dry_run; /* Don't change any persistent data. */ int runtime; /* Make changes active at runtime. */ + int null; /* Option -0 active. */ char *outfile; /* Name of output file. */ int component; /* The active component. */