[Pkg-gnupg-commit] [libassuan] 217/437: 2007-10-05 Marcus Brinkmann <marcus at g10code.de>
Eric Dorland
eric at moszumanska.debian.org
Fri May 22 05:33:45 UTC 2015
This is an automated email from the git hooks/post-receive script.
eric pushed a commit to branch master
in repository libassuan.
commit ba56511854f8726e8c4222e09f3497727a8b5ae5
Author: Marcus Brinkmann <mb at g10code.com>
Date: Fri Oct 5 12:24:01 2007 +0000
2007-10-05 Marcus Brinkmann <marcus at g10code.de>
* assuan-uds.c (wsa2errno) [HAVE_W32_SYSTEM]: New function.
(uds_reader, uds_writer) [HAVE_W32_SYSTEM]: Set errno.
---
src/ChangeLog | 5 +++++
src/assuan-uds.c | 33 +++++++++++++++++++++++++++++----
2 files changed, 34 insertions(+), 4 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index db16a34..e9589ff 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-05 Marcus Brinkmann <marcus at g10code.de>
+
+ * assuan-uds.c (wsa2errno) [HAVE_W32_SYSTEM]: New function.
+ (uds_reader, uds_writer) [HAVE_W32_SYSTEM]: Set errno.
+
2007-10-04 Werner Koch <wk at g10code.com>
* mkerrors: Map EAGAIN to GPG_ERR_EAGAIN for read and write
diff --git a/src/assuan-uds.c b/src/assuan-uds.c
index 71ab3b1..f31ee36 100644
--- a/src/assuan-uds.c
+++ b/src/assuan-uds.c
@@ -63,6 +63,25 @@
#endif /*USE_DESCRIPTOR_PASSING*/
+#ifdef HAVE_W32_SYSTEM
+int
+wsa2errno (int err)
+{
+ switch (err)
+ {
+ case WSAENOTSOCK:
+ return EINVAL;
+ case WSAEWOULDBLOCK:
+ return EAGAIN;
+ case ERROR_BROKEN_PIPE:
+ return EPIPE;
+ default:
+ return EIO;
+ }
+}
+#endif
+
+
/* Read from a unix domain socket using sendmsg.
FIXME: We don't need the buffering. It is a leftover from the time
@@ -152,7 +171,10 @@ uds_reader (assuan_context_t ctx, void *buf, size_t buflen)
return len;
#else /*HAVE_W32_SYSTEM*/
- return recvfrom (HANDLE2SOCKET(ctx->inbound.fd), buf, buflen, 0, NULL, NULL);
+ int res = recvfrom (HANDLE2SOCKET(ctx->inbound.fd), buf, buflen, 0, NULL, NULL);
+ if (res < 0)
+ errno = wsa2errno (WSAGetLastError ());
+ return res;
#endif /*HAVE_W32_SYSTEM*/
}
@@ -179,9 +201,12 @@ uds_writer (assuan_context_t ctx, const void *buf, size_t buflen)
return len;
#else /*HAVE_W32_SYSTEM*/
- return sendto (HANDLE2SOCKET(ctx->outbound.fd), buf, buflen, 0,
- (struct sockaddr *)&ctx->serveraddr,
- sizeof (struct sockaddr_in));
+ int res = sendto (HANDLE2SOCKET(ctx->outbound.fd), buf, buflen, 0,
+ (struct sockaddr *)&ctx->serveraddr,
+ sizeof (struct sockaddr_in));
+ if (res < 0)
+ errno = wsa2errno (WSAGetLastError ());
+ return res;
#endif /*HAVE_W32_SYSTEM*/
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/libassuan.git
More information about the Pkg-gnupg-commit
mailing list