diff options
author | Marcus Brinkmann <[email protected]> | 2003-02-04 14:57:41 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2003-02-04 14:57:41 +0000 |
commit | 350ef9afefaecadcf6949cd8f6a752ad835048f7 (patch) | |
tree | 5a23a4a09429696a3a47fca88827cde22e62d81f | |
parent | 2003-02-01 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-350ef9afefaecadcf6949cd8f6a752ad835048f7.tar.gz gpgme-350ef9afefaecadcf6949cd8f6a752ad835048f7.zip |
2003-02-01 Marcus Brinkmann <[email protected]>
* engine-gpgsm.c (start): Handle all errors, not only most of
them.
(xtoi_1, xtoi_2): Remove macro.
(status_handler): Replace use of xtoi_2 with _gpgme_hextobyte.
Diffstat (limited to '')
-rw-r--r-- | gpgme/ChangeLog | 7 | ||||
-rw-r--r-- | gpgme/engine-gpgsm.c | 18 |
2 files changed, 14 insertions, 11 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 31051c03..a122a7e9 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,5 +1,12 @@ 2003-02-01 Marcus Brinkmann <[email protected]> + * engine-gpgsm.c (start): Handle all errors, not only most of + them. + (xtoi_1, xtoi_2): Remove macro. + (status_handler): Replace use of xtoi_2 with _gpgme_hextobyte. + +2003-02-01 Marcus Brinkmann <[email protected]> + * engine-gpgsm.c (map_assuan_error): Replace ASSUAN_Bad_Certificate_Path with ASSUAN_Bad_Certificate_Chain. (gpgsm_new): Use assuan_pipe_connect instead assuan_pipe_connect2. diff --git a/gpgme/engine-gpgsm.c b/gpgme/engine-gpgsm.c index da420fa5..3f78ef90 100644 --- a/gpgme/engine-gpgsm.c +++ b/gpgme/engine-gpgsm.c @@ -43,12 +43,7 @@ #include "engine-backend.h" - -#define xtoi_1(p) (*(p) <= '9'? (*(p)- '0'): \ - *(p) <= 'F'? (*(p)-'A'+10):(*(p)-'a'+10)) -#define xtoi_2(p) ((xtoi_1(p) * 16) + xtoi_1((p)+1)) - - + typedef struct { int fd; /* FD we talk about. */ @@ -120,7 +115,7 @@ gpgsm_get_req_version (void) return NEED_GPGSM_VERSION; } - + static void close_notify_handler (int fd, void *opaque) { @@ -746,7 +741,7 @@ status_handler (void *opaque, int fd) { /* Handle escaped characters. */ ++src; - *dst = xtoi_2 (src); + *dst = (unsigned char) _gpgme_hextobyte (src); (*alinelen)++; src += 2; } @@ -828,10 +823,10 @@ add_io_cb (GpgsmObject gpgsm, iocb_data_t *iocbd, GpgmeIOCb handler) static GpgmeError start (GpgsmObject gpgsm, const char *command) { - GpgmeError err = 0; + GpgmeError err; err = add_io_cb (gpgsm, &gpgsm->status_cb, status_handler); - if (gpgsm->input_cb.fd != -1) + if (!err && gpgsm->input_cb.fd != -1) err = add_io_cb (gpgsm, &gpgsm->input_cb, _gpgme_data_outbound_handler); if (!err && gpgsm->output_cb.fd != -1) err = add_io_cb (gpgsm, &gpgsm->output_cb, _gpgme_data_inbound_handler); @@ -841,7 +836,8 @@ start (GpgsmObject gpgsm, const char *command) if (!err) err = assuan_write_line (gpgsm->assuan_ctx, command); - (*gpgsm->io_cbs.event) (gpgsm->io_cbs.event_priv, GPGME_EVENT_START, NULL); + if (!err) + (*gpgsm->io_cbs.event) (gpgsm->io_cbs.event_priv, GPGME_EVENT_START, NULL); return err; } |