diff options
author | Marcus Brinkmann <[email protected]> | 2009-04-08 18:53:57 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2009-04-08 18:53:57 +0000 |
commit | d255b4bec9a1fdf0864640750161ea12999e43a5 (patch) | |
tree | 75e870ff7e07cb4f2bf30dc8a136c72eb4bf6bd4 /assuan/assuan-client.c | |
parent | 2009-03-23 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-d255b4bec9a1fdf0864640750161ea12999e43a5.tar.gz gpgme-d255b4bec9a1fdf0864640750161ea12999e43a5.zip |
assuan/
2009-04-08 Marcus Brinkmann <[email protected]>
* assuan.h (_gpgme_io_socket): New prototype.
(_ASSUAN_CUSTOM_IO, _assuan_custom_close, _assuan_custom_read)
(_assuan_custom_write, _assuan_custom_pipe, _assuan_custom_socket)
(_assuan_custom_connect): New macros.
* assuan-socket.c (_assuan_close, _assuan_sock_new)
(_assuan_sock_connect) [_ASSUAN_CUSTOM_IO]: Use custom I/O function.
* assuan-buffer.c (assuan_read_line): Do not handle EAGAIN anymore.
* assuan-client.c (_assuan_read_from_server): Likewise.
* assuan-handler.c (process_next): Likewise
* assuan-inquire.c (assuan_inquire): Likewise.
src/
2009-04-08 Marcus Brinkmann <[email protected]>
* w32-glib-io.c (giochannel_table): New members used, fd, socket.
(find_channel): Drop CREATE argument.
(new_dummy_channel_from_fd, new_channel_from_fd)
(new_channel_from_socket): New functions.
(_gpgm_io_fd2str): Implement for sockets.
(_gpgme_io_write, _gpgme_io_read): Translate EAGAIN errors
correctly.
(_gpgme_io_pipe): Fix for new channel bookkeeping.
(_gpgme_io_close, _gpgme_io_dup): Likewise.
(wsa2errno, _gpgme_io_socket, _gpgme_io_connect): New.
* w32-io.c (MAX_READERS, MAX_WRITERS): Bump up to 40.
(wsa2errno, _gpgme_io_socket, _gpgme_io_connect): New.
* w32-qt-io.cpp (_gpgme_io_socket, _gpgme_io_connect): New stubs.
* version.c [HAVE_W32_SYSTEM]: Include "windows.h.
(do_subsystem_inits) [HAVE_W32_SYSTEM]: Call WSAStartup.
* engine-assuan.c (llass_status_handler): Ignore EAGAIN errors.
Diffstat (limited to 'assuan/assuan-client.c')
-rw-r--r-- | assuan/assuan-client.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/assuan/assuan-client.c b/assuan/assuan-client.c index 15f4f1cd..e123e764 100644 --- a/assuan/assuan-client.c +++ b/assuan/assuan-client.c @@ -42,16 +42,12 @@ _assuan_read_from_server (assuan_context_t ctx, int *okay, int *off) *off = 0; do { - do - { - rc = _assuan_read_line (ctx); - } - while (_assuan_error_is_eagain (rc)); + rc = _assuan_read_line (ctx); if (rc) return rc; line = ctx->inbound.line; linelen = ctx->inbound.linelen; - } + } while (*line == '#' || !linelen); if (linelen >= 1 |