aboutsummaryrefslogtreecommitdiffstats
path: root/gpgme/rungpg.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gpgme/rungpg.c43
1 files changed, 40 insertions, 3 deletions
diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c
index 88afaea9..7677941f 100644
--- a/gpgme/rungpg.c
+++ b/gpgme/rungpg.c
@@ -1079,9 +1079,8 @@ colon_line_handler (void *opaque, int fd)
static GpgmeError
-gpg_start (void *engine, void *opaque)
+start (GpgObject gpg)
{
- GpgObject gpg = engine;
GpgmeError rc;
int i, n;
int status;
@@ -1223,6 +1222,8 @@ gpg_decrypt (void *engine, GpgmeData ciph, GpgmeData plain)
if (!err)
err = add_data (gpg, ciph, 0, 0);
+ if (!err)
+ start (gpg);
return err;
}
@@ -1245,6 +1246,8 @@ gpg_delete (void *engine, GpgmeKey key, int allow_secret)
err = add_arg (gpg, s);
}
+ if (!err)
+ start (gpg);
return err;
}
@@ -1297,6 +1300,8 @@ gpg_edit (void *engine, GpgmeKey key, GpgmeData out, GpgmeCtx ctx /* FIXME */)
else
err = add_arg (gpg, s);
}
+ if (!err)
+ err = start (gpg);
return err;
}
@@ -1357,9 +1362,13 @@ gpg_encrypt (void *engine, GpgmeRecipients recp, GpgmeData plain,
if (!err)
err = add_data (gpg, plain, 0, 0);
+ if (!err)
+ err = start (gpg);
+
return err;
}
+
static GpgmeError
gpg_encrypt_sign (void *engine, GpgmeRecipients recp, GpgmeData plain,
GpgmeData ciph, int use_armor, GpgmeCtx ctx /* FIXME */)
@@ -1396,9 +1405,13 @@ gpg_encrypt_sign (void *engine, GpgmeRecipients recp, GpgmeData plain,
if (!err)
err = add_data (gpg, plain, 0, 0);
+ if (!err)
+ err = start (gpg);
+
return err;
}
+
static GpgmeError
gpg_export (void *engine, GpgmeRecipients recp, GpgmeData keydata,
int use_armor)
@@ -1426,6 +1439,9 @@ gpg_export (void *engine, GpgmeRecipients recp, GpgmeData keydata,
err = gpgme_recipients_enum_close (recp, &ec);
}
+ if (!err)
+ err = start (gpg);
+
return err;
}
@@ -1453,6 +1469,9 @@ gpg_genkey (void *engine, GpgmeData help_data, int use_armor,
if (!err)
err = add_data (gpg, help_data, 0, 0);
+ if (!err)
+ err = start (gpg);
+
return err;
}
@@ -1467,6 +1486,9 @@ gpg_import (void *engine, GpgmeData keydata)
if (!err)
err = add_data (gpg, keydata, 0, 0);
+ if (!err)
+ err = start (gpg);
+
return err;
}
@@ -1496,6 +1518,9 @@ gpg_keylist (void *engine, const char *pattern, int secret_only,
if (!err && pattern && *pattern)
err = add_arg (gpg, pattern);
+ if (!err)
+ err = start (gpg);
+
return err;
}
@@ -1531,6 +1556,9 @@ gpg_keylist_ext (void *engine, const char *pattern[], int secret_only,
err = add_arg (gpg, *(pattern++));
}
+ if (!err)
+ err = start (gpg);
+
return err;
}
@@ -1565,6 +1593,9 @@ gpg_sign (void *engine, GpgmeData in, GpgmeData out, GpgmeSigMode mode,
if (!err)
err = add_data (gpg, out, 1, 1);
+ if (!err)
+ start (gpg);
+
return err;
}
@@ -1584,6 +1615,9 @@ gpg_trustlist (void *engine, const char *pattern)
if (!err)
err = add_arg (gpg, pattern);
+ if (!err)
+ err = start (gpg);
+
return err;
}
@@ -1624,6 +1658,10 @@ gpg_verify (void *engine, GpgmeData sig, GpgmeData signed_text,
err = add_data (gpg, signed_text, 0, 0);
}
}
+
+ if (!err)
+ err = start (gpg);
+
return err;
}
@@ -1664,7 +1702,6 @@ struct engine_ops _gpgme_engine_ops_gpg =
gpg_sign,
gpg_trustlist,
gpg_verify,
- gpg_start,
gpg_set_io_cbs,
gpg_io_event
};