aboutsummaryrefslogtreecommitdiffstats
path: root/src/assuan-buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/assuan-buffer.c')
-rw-r--r--src/assuan-buffer.c9
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;