aboutsummaryrefslogtreecommitdiffstats
path: root/assuan/assuan-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'assuan/assuan-client.c')
-rw-r--r--assuan/assuan-client.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/assuan/assuan-client.c b/assuan/assuan-client.c
index 06e3966f..978c6954 100644
--- a/assuan/assuan-client.c
+++ b/assuan/assuan-client.c
@@ -161,9 +161,11 @@ assuan_transact (assuan_context_t ctx,
if (!okay)
{
- rc = _assuan_error (atoi (line));
- if (rc < 100)
- rc = ASSUAN_Server_Fault;
+ rc = atoi (line);
+ if (rc > 0 && rc < 100)
+ rc = _assuan_error (ASSUAN_Server_Fault);
+ else if (rc > 0 && rc <= 128)
+ rc = _assuan_error (rc);
}
else if (okay == 2)
{