aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine-gpg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine-gpg.c')
-rw-r--r--src/engine-gpg.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c
index 90e3b89e..49a1c75e 100644
--- a/src/engine-gpg.c
+++ b/src/engine-gpg.c
@@ -1985,6 +1985,8 @@ append_args_from_recipients_string (engine_gpg_t gpg,
{
gpg_error_t err = 0;
int any = 0;
+ int ignore = 0;
+ int hidden = 0;
const char *s;
int n;
@@ -2005,10 +2007,14 @@ append_args_from_recipients_string (engine_gpg_t gpg,
while (n && (string[n-1] == ' ' || string[n-1] == '\t'))
n--;
- /* Add arg if it is not empty. */
- if (n)
+ if (!ignore && n == 2 && !memcmp (string, "--", 2))
+ ignore = 1;
+ else if (!ignore && n == 8 && !memcmp (string, "--hidden", 8))
+ hidden = 1;
+ else if (n)
{
- err = add_arg (gpg, "-r");
+ /* Add arg if it is not empty. */
+ err = add_arg (gpg, hidden? "-R":"-r");
if (!err)
err = add_arg_recipient_string (gpg, flags, string, n);
if (!err)