diff options
Diffstat (limited to 'src/assuan-buffer.c')
-rw-r--r-- | src/assuan-buffer.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/assuan-buffer.c b/src/assuan-buffer.c index 2016864..3968584 100644 --- a/src/assuan-buffer.c +++ b/src/assuan-buffer.c @@ -93,7 +93,7 @@ readline (assuan_context_t ctx, char *buf, size_t buflen, } -/* Function returns an Assuan error. */ +/* Function returns an Assuan error. */ assuan_error_t _assuan_read_line (assuan_context_t ctx) { @@ -245,7 +245,12 @@ assuan_read_line (assuan_context_t ctx, char **line, size_t *linelen) if (!ctx) return _assuan_error (ASSUAN_Invalid_Value); - err = _assuan_read_line (ctx); + do + { + err = _assuan_read_line (ctx); + } + while (_assuan_error_is_eagain (err)); + *line = ctx->inbound.line; *linelen = ctx->inbound.linelen; return err; |