diff options
author | Werner Koch <wk@gnupg.org> | 2007-10-04 12:24:29 +0000 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2007-10-04 12:24:29 +0000 |
commit | 7e4a5b0d2825ae1e9bf1d2e5966b653f84cbf753 (patch) | |
tree | e0b1c561d8a71a76c6e41106a2f312bd28b29be7 /src | |
parent | 28f7b6e0413097e91d9f28da028064d1ba9071eb (diff) | |
download | libassuan-7e4a5b0d2825ae1e9bf1d2e5966b653f84cbf753.tar.gz |
Better error mapping.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/assuan-buffer.c | 5 | ||||
-rw-r--r-- | src/assuan-socket-connect.c | 2 | ||||
-rwxr-xr-x | src/mkerrors | 10 |
4 files changed, 18 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index fa10021..db16a34 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 Werner Koch <wk@g10code.com> + + * mkerrors: Map EAGAIN to GPG_ERR_EAGAIN for read and write + errors. + 2007-10-02 Werner Koch <wk@g10code.com> * assuan-io.c (_assuan_io_read) [W32]: Map WSAEWOULDBLOCK to EAGAIN. diff --git a/src/assuan-buffer.c b/src/assuan-buffer.c index 552bb7b..8a9faf1 100644 --- a/src/assuan-buffer.c +++ b/src/assuan-buffer.c @@ -133,10 +133,11 @@ _assuan_read_line (assuan_context_t ctx) if (rc) { if (ctx->log_fp) - fprintf (ctx->log_fp, "%s[%u.%d] DBG: <- [Error: %s]\n", - assuan_get_assuan_log_prefix (), + fprintf (ctx->log_fp, "%s[%u.%d] DBG: <- [Error: %s]\n", + assuan_get_assuan_log_prefix (), (unsigned int)getpid (), (int)ctx->inbound.fd, strerror (errno)); + return _assuan_error (ASSUAN_Read_Error); } if (!nread) diff --git a/src/assuan-socket-connect.c b/src/assuan-socket-connect.c index 828f6ea..0b9bdbb 100644 --- a/src/assuan-socket-connect.c +++ b/src/assuan-socket-connect.c @@ -85,7 +85,7 @@ assuan_socket_connect (assuan_context_t *r_ctx, /* Make a connection to the Unix domain socket NAME and return a new Assuan context in CTX. SERVER_PID is currently not used but may become handy in the future. With flags set to 1 sendmsg and - recvmesg are used. */ + recvmsg are used. */ assuan_error_t assuan_socket_connect_ext (assuan_context_t *r_ctx, const char *name, pid_t server_pid, diff --git a/src/mkerrors b/src/mkerrors index 735b794..feded4f 100755 --- a/src/mkerrors +++ b/src/mkerrors @@ -93,6 +93,9 @@ _assuan_error (int oldcode) switch (errno) { case 0: n = 16381; /*GPG_ERR_MISSING_ERRNO*/ break; + case EAGAIN: + n = (6 | (1 << 15)); + break; default: n = 270; /*GPG_ERR_ASS_READ_ERROR*/ break; } break; @@ -101,6 +104,9 @@ _assuan_error (int oldcode) switch (errno) { case 0: n = 16381; /*GPG_ERR_MISSING_ERRNO*/ break; + case EAGAIN: + n = (6 | (1 << 15)); + break; default: n = 271; /*GPG_ERR_ASS_WRITE_ERROR*/ break; } break; @@ -114,7 +120,9 @@ _assuan_error (int oldcode) an error is indeed returned. */ n = 16381; /*GPG_ERR_MISSING_ERRNO*/ break; - case ENOMEM: n = (1 << 15) | 86; break; + case ENOMEM: + n = (86 | (1 << 15)); + break; default: n = 16382; /*GPG_ERR_UNKNOWN_ERRNO*/ break; |