diff options
author | Marcus Brinkmann <[email protected]> | 2004-10-22 16:55:16 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2004-10-22 16:55:16 +0000 |
commit | e2297804cff3de9a176661d0005dc85fd1c84018 (patch) | |
tree | b8e707516ce81bdea36116da9ce96e5a0b85e837 | |
parent | 2004-10-05 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-e2297804cff3de9a176661d0005dc85fd1c84018.tar.gz gpgme-e2297804cff3de9a176661d0005dc85fd1c84018.zip |
2004-10-22 Marcus Brinkmann <[email protected]>
* engine-gpgsm.c (map_assuan_error): Return 0 if ERR is 0.
(start): Call map_assuan_error on return value of
assuan_write_line.
-rw-r--r-- | gpgme/ChangeLog | 6 | ||||
-rw-r--r-- | gpgme/engine-gpgsm.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 7d6c5af6..9baaf6ea 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,9 @@ +2004-10-22 Marcus Brinkmann <[email protected]> + + * engine-gpgsm.c (map_assuan_error): Return 0 if ERR is 0. + (start): Call map_assuan_error on return value of + assuan_write_line. + 2004-10-05 Marcus Brinkmann <[email protected]> * op-support.c (_gpgme_op_data_lookup): Use char pointer for diff --git a/gpgme/engine-gpgsm.c b/gpgme/engine-gpgsm.c index e08c03c7..0138fdf7 100644 --- a/gpgme/engine-gpgsm.c +++ b/gpgme/engine-gpgsm.c @@ -153,6 +153,9 @@ close_notify_handler (int fd, void *opaque) static gpgme_error_t map_assuan_error (AssuanError err) { + if (!err) + return 0; + if (err == -1) return gpg_error (GPG_ERR_INV_ENGINE); @@ -398,6 +401,7 @@ gpgsm_new (void **engine, const char *lc_ctype, const char *lc_messages) err = assuan_pipe_connect (&gpgsm->assuan_ctx, _gpgme_get_gpgsm_path (), argv, child_fds); + /* FIXME: Check error. */ /* We need to know the fd used by assuan for reads. We do this by using the assumption that the first returned fd from @@ -866,7 +870,7 @@ start (engine_gpgsm_t gpgsm, const char *command) err = add_io_cb (gpgsm, &gpgsm->message_cb, _gpgme_data_outbound_handler); if (!err) - err = assuan_write_line (gpgsm->assuan_ctx, command); + err = map_assuan_error (assuan_write_line (gpgsm->assuan_ctx, command)); if (!err) (*gpgsm->io_cbs.event) (gpgsm->io_cbs.event_priv, GPGME_EVENT_START, NULL); |