aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2009-02-24 15:13:01 +0000
committerWerner Koch <[email protected]>2009-02-24 15:13:01 +0000
commitf0dccac380b172291e7bea8a43cb0ec44b49c3bf (patch)
tree47b38e8ac4224c919c18c10175fd1ee3a4b0b34c /tests
parentFix spawn prototype for w32 glib and qt versions. (diff)
downloadgpgme-f0dccac380b172291e7bea8a43cb0ec44b49c3bf.tar.gz
gpgme-f0dccac380b172291e7bea8a43cb0ec44b49c3bf.zip
Chnaged the op-assuan interface.
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog4
-rw-r--r--tests/opassuan/t-command.c38
2 files changed, 35 insertions, 7 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index efd756c4..027afccf 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,7 @@
+2009-02-24 Werner Koch <[email protected]>
+
+ * opassuan/t-command.c: Adjust for changed new op_assuan interface.
+
2009-02-03 Werner Koch <[email protected]>
* gpg/t-keylist.c (main): Check that new fields is_cardkey and
diff --git a/tests/opassuan/t-command.c b/tests/opassuan/t-command.c
index b6a2d904..161b8a84 100644
--- a/tests/opassuan/t-command.c
+++ b/tests/opassuan/t-command.c
@@ -24,6 +24,7 @@
#include <stdlib.h>
#include <string.h>
#include <locale.h>
+#include <assert.h>
#include <gpgme.h>
@@ -52,10 +53,36 @@ data_cb (void *opaque, const void *data, size_t datalen)
static gpg_error_t
inq_cb (void *opaque, const char *name, const char *args,
- gpgme_assuan_sendfnc_t sendfnc,
- gpgme_assuan_sendfnc_ctx_t sendfnc_value)
+ gpgme_data_t *r_data)
{
- printf ("INQ_CB: name=`%s' args=`%s'\n", name, args);
+ gpgme_data_t data;
+ gpg_error_t err;
+
+ if (name)
+ {
+ printf ("INQ_CB: name=`%s' args=`%s'\n", name, args);
+ /* There shall be no data object. */
+ assert (!*r_data);
+
+ err = gpgme_data_new (&data);
+ fail_if_err (err);
+ *r_data = data;
+ printf (" sending data object %p\n", data);
+ }
+ else /* Finished using the formerly returned data object. */
+ {
+ printf ("INQ_CB: data object %p finished\n", *r_data);
+ /* There shall be a data object so that it can be cleaned up. */
+ assert (r_data);
+
+ gpgme_data_release (*r_data);
+ }
+
+ /* Uncomment the next lines and send a "SCD LEARN" to test sending
+ cancel from in inquiry. */
+ /* if (name && !strcmp (name, "KNOWNCARDP")) */
+ /* return gpg_error (GPG_ERR_ASS_CANCELED); */
+
return 0;
}
@@ -70,9 +97,6 @@ status_cb (void *opaque, const char *status, const char *args)
-
-
-
int
main (int argc, char **argv)
{
@@ -106,7 +130,7 @@ main (int argc, char **argv)
inq_cb, NULL,
status_cb, NULL);
fail_if_err (err);
- err = gpgme_op_assuan_result (ctx);
+ err = gpgme_op_assuan_result (ctx)->err;
if (err)
fprintf (stderr, "assuan command `%s' failed: %s <%s> (%d)\n",
command, gpg_strerror (err), gpg_strsource (err), err);