gpg: Add options --output and --yes to gpgv.
authorWerner Koch <wk@gnupg.org>
Thu, 8 Sep 2016 08:50:51 +0000 (10:50 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 8 Sep 2016 08:50:51 +0000 (10:50 +0200)
* g10/gpgv.c (oOutput, oAnswerYes): New.
(opts): Add --output and --yes.
(main): Implement options.

Signed-off-by: Werner Koch <wk@gnupg.org>
doc/gpg.texi
doc/gpgv.texi
g10/gpgv.c

index 74977c5..5889c2f 100644 (file)
@@ -2153,7 +2153,8 @@ Assume the input data is not in ASCII armored format.
 @item --output @var{file}
 @itemx -o @var{file}
 @opindex output
-Write output to @var{file}.
+Write output to @var{file}.  To write to stdout use @code{-} as the
+filename.
 
 @item --max-output @code{n}
 @opindex max-output
index 1d9a81e..6676bde 100644 (file)
@@ -92,6 +92,16 @@ are replaced by the HOME directory. If the filename
 does not contain a slash, it is assumed to be in the
 home-directory ("~/.gnupg" if --homedir is not used).
 
+@item --output @var{file}
+@itemx -o @var{file}
+@opindex output
+Write output to @var{file}.  This option can be used to get the signed
+text from a cleartext or binary signature; it also works for detached
+signatures, but in that case this option is in general not
+useful. Unless you write to stdout (using @code{-} for @var{file}) you
+should also use the option @option{--yes} to force overwriting an
+existing file.
+
 @item --status-fd @var{n}
 @opindex status-fd
 Write special status strings to the file descriptor @var{n}.  See the
index 1f2cecb..aa1fcea 100644 (file)
@@ -55,6 +55,7 @@ enum cmd_and_opt_values {
   aNull = 0,
   oQuiet         = 'q',
   oVerbose       = 'v',
+  oOutput        = 'o',
   oBatch         = 500,
   oKeyring,
   oIgnoreTimeConflict,
@@ -62,6 +63,8 @@ enum cmd_and_opt_values {
   oLoggerFD,
   oHomedir,
   oWeakDigest,
+  oAnswerYes,
+  oAnswerNo,
   aTest
 };
 
@@ -73,6 +76,7 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_s_n (oQuiet,   "quiet",   N_("be somewhat more quiet")),
   ARGPARSE_s_s (oKeyring, "keyring",
                 N_("|FILE|take the keys from the keyring FILE")),
+  ARGPARSE_s_s (oOutput, "output", N_("|FILE|write output to FILE")),
   ARGPARSE_s_n (oIgnoreTimeConflict, "ignore-time-conflict",
                 N_("make timestamp conflicts only a warning")),
   ARGPARSE_s_i (oStatusFD, "status-fd",
@@ -81,6 +85,7 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_s_s (oHomedir, "homedir", "@"),
   ARGPARSE_s_s (oWeakDigest, "weak-digest",
                 N_("|ALGO|reject signatures made with ALGO")),
+  ARGPARSE_s_n (oAnswerYes, "yes", "@"),
 
   ARGPARSE_end ()
 };
@@ -188,6 +193,8 @@ main( int argc, char **argv )
           gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
           break;
         case oKeyring: append_to_strlist( &nrings, pargs.r.ret_str); break;
+        case oOutput: opt.outfile = pargs.r.ret_str; break;
+        case oAnswerYes: opt.answer_yes = 1; break;
         case oStatusFD: set_status_fd( pargs.r.ret_int ); break;
         case oLoggerFD:
           log_set_fd (translate_sys2libc_fd_int (pargs.r.ret_int, 1));