diff options
author | Marcus Brinkmann <[email protected]> | 2001-12-05 20:38:50 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2001-12-05 20:38:50 +0000 |
commit | 8cd3d96f2ded518f251bea551b5dad73e4d4cb96 (patch) | |
tree | 977fa3c0e99216eaf2e2cefbe44fee8bce7bd28d | |
parent | 2001-12-05 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-8cd3d96f2ded518f251bea551b5dad73e4d4cb96.tar.gz gpgme-8cd3d96f2ded518f251bea551b5dad73e4d4cb96.zip |
2001-12-05 Marcus Brinkmann <[email protected]>
* engine-gpgsm.c (gpgsm_status_handler): Make it work with current
version of assuan.
Diffstat (limited to '')
-rw-r--r-- | gpgme/ChangeLog | 5 | ||||
-rw-r--r-- | gpgme/engine-gpgsm.c | 24 |
2 files changed, 12 insertions, 17 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index a5bd6aeb..2f6b2f28 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,5 +1,10 @@ 2001-12-05 Marcus Brinkmann <[email protected]> + * engine-gpgsm.c (gpgsm_status_handler): Make it work with current + version of assuan. + +2001-12-05 Marcus Brinkmann <[email protected]> + * engine-gpgsm.c (gpgsm_set_fd): Accept one more argument OPT. (_gpgme_gpgsm_op_encrypt): Pass armor argument to gpgsm_set_fd for output descriptor. diff --git a/gpgme/engine-gpgsm.c b/gpgme/engine-gpgsm.c index 7cc68b10..04f32a08 100644 --- a/gpgme/engine-gpgsm.c +++ b/gpgme/engine-gpgsm.c @@ -476,24 +476,14 @@ gpgsm_status_handler (void *opaque, int pid, int fd) ASSUAN_CONTEXT actx = gpgsm->assuan_ctx; char *line; int linelen; - char *next_line; - assert (fd == gpgsm->assuan_ctx->inbound.fd); - - err = _assuan_read_line (gpgsm->assuan_ctx); - - /* Assuan can currently return more than one line at once. */ - line = actx->inbound.line; - - while (line) + do { - next_line = strchr (line, '\n'); - if (next_line) - *next_line++ = 0; - linelen = strlen (line); + assert (fd == gpgsm->assuan_ctx->inbound.fd); - if (line[0] == '#' || !linelen) - return 0; /* FIXME */ + err = _assuan_read_line (gpgsm->assuan_ctx); + line = actx->inbound.line; + linelen = strlen (line); if ((linelen >= 2 && line[0] == 'O' && line[1] == 'K' @@ -533,9 +523,9 @@ gpgsm_status_handler (void *opaque, int pid, int fd) else fprintf (stderr, "[UNKNOWN STATUS]%s %s", t.name, rest); } - line = next_line; } - + while (gpgsm->assuan_ctx->inbound.attic.linelen); + return 0; } |