diff options
author | Werner Koch <[email protected]> | 2016-08-04 11:02:37 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-08-04 11:02:37 +0000 |
commit | db6f3eb926619dfe6ed2a9be197c51f9a1b6198c (patch) | |
tree | 14ea10d303ae21834a8651a480ce59e20b0de88a | |
parent | tests: Update list of tests in Scheme test runner. (diff) | |
download | gnupg-db6f3eb926619dfe6ed2a9be197c51f9a1b6198c.tar.gz gnupg-db6f3eb926619dfe6ed2a9be197c51f9a1b6198c.zip |
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 <[email protected]>
-rw-r--r-- | tools/gpgconf.c | 8 | ||||
-rw-r--r-- | tools/gpgconf.h | 1 |
2 files changed, 8 insertions, 1 deletions
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. */ |