diff options
Diffstat (limited to 'assuan/assuan-client.c')
-rw-r--r-- | assuan/assuan-client.c | 8 |
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) { |