[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