aboutsummaryrefslogtreecommitdiffstats
path: root/assuan
diff options
context:
space:
mode:
Diffstat (limited to 'assuan')
-rw-r--r--assuan/README.1st3
-rw-r--r--assuan/assuan-socket.c6
-rw-r--r--assuan/assuan.h2
3 files changed, 7 insertions, 4 deletions
diff --git a/assuan/README.1st b/assuan/README.1st
index 8e805c39..46f1bb05 100644
--- a/assuan/README.1st
+++ b/assuan/README.1st
@@ -30,7 +30,8 @@ updating this directory, are:
* assuan-io.c
** _assuan_simple_read() and _assuan_simple_write() must always use
read()/write() (which actually translates to _gpgme_io_read() and
- _gpgme_io_write()).
+ _gpgme_io_write()). _assuan_close must always() use close() (which
+ translates to _gpgme_io_close()).
Copyright 2004, 2007 g10 Code GmbH
diff --git a/assuan/assuan-socket.c b/assuan/assuan-socket.c
index 196c4f6f..5566fdea 100644
--- a/assuan/assuan-socket.c
+++ b/assuan/assuan-socket.c
@@ -45,13 +45,13 @@
int
_assuan_close (int fd)
{
-#ifndef HAVE_W32_SYSTEM
- return close (fd);
-#else
+#if defined (HAVE_W32_SYSTEM) && !defined(_ASSUAN_IN_GPGME_BUILD_ASSUAN)
int rc = closesocket (fd);
if (rc && WSAGetLastError () == WSAENOTSOCK)
rc = CloseHandle (fd);
return rc;
+#else
+ return close (fd);
#endif
}
diff --git a/assuan/assuan.h b/assuan/assuan.h
index 33f14cf0..fd807959 100644
--- a/assuan/assuan.h
+++ b/assuan/assuan.h
@@ -63,11 +63,13 @@
#ifdef _ASSUAN_IN_GPGME_BUILD_ASSUAN
#include <ath.h>
+int _gpgme_io_close (int fd);
int _gpgme_io_read (int fd, void *buffer, size_t count);
int _gpgme_io_write (int fd, const void *buffer, size_t count);
int _gpgme_io_sendmsg (int sock, const struct msghdr *msg, int flags);
int _gpgme_io_recvmsg (int sock, struct msghdr *msg, int flags);
+#define close _gpgme_io_close
#define read _gpgme_io_read
#define write _gpgme_io_write
#define waitpid _gpgme_ath_waitpid