aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-08-04 11:02:37 +0000
committerWerner Koch <[email protected]>2016-08-04 11:02:37 +0000
commitdb6f3eb926619dfe6ed2a9be197c51f9a1b6198c (patch)
tree14ea10d303ae21834a8651a480ce59e20b0de88a
parenttests: Update list of tests in Scheme test runner. (diff)
downloadgnupg-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.c8
-rw-r--r--tools/gpgconf.h1
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. */