aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2002-08-20 13:38:40 +0000
committerMarcus Brinkmann <[email protected]>2002-08-20 13:38:40 +0000
commitbfbe2656136c49fc2ba959e0b8393dab6a49ee36 (patch)
tree4d726d093491e270287501fe563603826cb7e2c0
parent* vasprintf.c (int_vasprintf): Hack to handle NULL passed for %s. (diff)
downloadgpgme-bfbe2656136c49fc2ba959e0b8393dab6a49ee36.tar.gz
gpgme-bfbe2656136c49fc2ba959e0b8393dab6a49ee36.zip
doc/
2002-08-20 Marcus Brinkmann <[email protected]> * gpgme.texi (Importing Keys): Document gpgme_op_import_ext. gpgme/ 2002-08-20 Marcus Brinkmann <[email protected]> * gpgme.h: Add prototype for gpgme_op_import_ext. * import.c (struct import_result_s): New member `nr_considered'. Rename `any_imported' to `nr_imported'. (import_status_handler): Increment nr_imported. Set nr_considered if appropriate. (gpgme_op_import_ext): New function. (gpgme_op_import): Implement in terms of gpgme_op_import_ext.
Diffstat (limited to '')
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gpgme.texi7
-rw-r--r--gpgme/ChangeLog10
-rw-r--r--gpgme/gpgme.h1
-rw-r--r--gpgme/import.c27
5 files changed, 44 insertions, 5 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 30d81ed4..aa45097b 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2002-08-20 Marcus Brinkmann <[email protected]>
+
+ * gpgme.texi (Importing Keys): Document gpgme_op_import_ext.
+
2002-08-14 Werner Koch <[email protected]>
* gpgme.texi (Information About Keys): Changed GPGME_ATTR_TYPE.
diff --git a/doc/gpgme.texi b/doc/gpgme.texi
index a408f8ff..904160a4 100644
--- a/doc/gpgme.texi
+++ b/doc/gpgme.texi
@@ -1932,6 +1932,13 @@ started successfully, @code{GPGME_Invalid_Value} if @var{keydata} if
@code{GPGME_No_Data} if @var{keydata} is an empty data buffer.
@end deftypefun
+@deftypefun GpgmeError gpgme_op_import_ext (@w{GpgmeCtx @var{ctx}}, @w{GpgmeData @var{keydata}}, @w{int *@var{nr}})
+The function @code{gpgme_op_import_ext} is like
+@code{gpgme_op_import}, but also returns the number of processed keys
+in @var{nr}. This is the same as the @code{count} information in the
+detailed results available with @code{gpgme_get_op_info}.
+@end deftypefun
+
@node Deleting Keys
@subsection Deleting Keys
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 2e6f1165..2a2de065 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,13 @@
+2002-08-20 Marcus Brinkmann <[email protected]>
+
+ * gpgme.h: Add prototype for gpgme_op_import_ext.
+ * import.c (struct import_result_s): New member `nr_considered'.
+ Rename `any_imported' to `nr_imported'.
+ (import_status_handler): Increment nr_imported. Set nr_considered
+ if appropriate.
+ (gpgme_op_import_ext): New function.
+ (gpgme_op_import): Implement in terms of gpgme_op_import_ext.
+
2002-08-20 Werner Koch <[email protected]>
* vasprintf.c (int_vasprintf): Hack to handle NULL passed for %s.
diff --git a/gpgme/gpgme.h b/gpgme/gpgme.h
index 826375ef..ed82ecfe 100644
--- a/gpgme/gpgme.h
+++ b/gpgme/gpgme.h
@@ -663,6 +663,7 @@ GpgmeError gpgme_op_verify (GpgmeCtx ctx,
/* Import the key in KEYDATA into the keyring. */
GpgmeError gpgme_op_import_start (GpgmeCtx ctx, GpgmeData keydata);
GpgmeError gpgme_op_import (GpgmeCtx ctx, GpgmeData keydata);
+GpgmeError gpgme_op_import_ext (GpgmeCtx ctx, GpgmeData keydata, int *nr);
/* Export the keys listed in RECP into KEYDATA. */
GpgmeError gpgme_op_export_start (GpgmeCtx ctx, GpgmeRecipients recp,
diff --git a/gpgme/import.c b/gpgme/import.c
index e1573638..a550f864 100644
--- a/gpgme/import.c
+++ b/gpgme/import.c
@@ -32,7 +32,8 @@
struct import_result_s
{
- int any_imported;
+ int nr_imported;
+ int nr_considered;
GpgmeData xmlinfo;
};
@@ -160,8 +161,12 @@ import_status_handler (GpgmeCtx ctx, GpgmeStatusCode code, char *args)
break;
case GPGME_STATUS_IMPORTED:
- ctx->result.import->any_imported = 1;
+ ctx->result.import->nr_imported++;
+ append_xml_impinfo (&ctx->result.import->xmlinfo, code, args);
+ break;
+
case GPGME_STATUS_IMPORT_RES:
+ ctx->result.import->nr_considered = strtol (args, 0, 0);
append_xml_impinfo (&ctx->result.import->xmlinfo, code, args);
break;
@@ -217,19 +222,31 @@ gpgme_op_import_start (GpgmeCtx ctx, GpgmeData keydata)
* gpgme_op_import:
* @c: Context
* @keydata: Data object
+ * @nr: Will contain number of considered keys.
*
* Import all key material from @keydata into the key database.
*
* Return value: 0 on success or an error code.
**/
GpgmeError
-gpgme_op_import (GpgmeCtx ctx, GpgmeData keydata)
+gpgme_op_import_ext (GpgmeCtx ctx, GpgmeData keydata, int *nr)
{
GpgmeError err = _gpgme_op_import_start (ctx, 1, keydata);
if (!err)
err = _gpgme_wait_one (ctx);
- if (!err && (!ctx->result.import || !ctx->result.import->any_imported))
- err = -1; /* Nothing at all imported. */
+ if (!err && nr)
+ {
+ if (ctx->result.import)
+ *nr = ctx->result.import->nr_considered;
+ else
+ *nr = 0;
+ }
return err;
}
+GpgmeError
+gpgme_op_import (GpgmeCtx ctx, GpgmeData keydata)
+{
+ return gpgme_op_import_ext (ctx, keydata, 0);
+}
+