summaryrefslogtreecommitdiffstats
path: root/libjava/java/net
diff options
context:
space:
mode:
authorjsturm <jsturm@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-31 01:59:44 +0000
committerjsturm <jsturm@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-31 01:59:44 +0000
commit0030e8eccb358c1767899d17cad81dc8021cc17e (patch)
tree49ae370fda65d96bca2ba7e94b2d5662aa25cc93 /libjava/java/net
parent667dec61cad4460a44ef8832ca86b64e963f6a4c (diff)
downloadppe42-gcc-0030e8eccb358c1767899d17cad81dc8021cc17e.tar.gz
ppe42-gcc-0030e8eccb358c1767899d17cad81dc8021cc17e.zip
* java/net/natPlainDatagramSocketImpl.cc: Undefine bind if defined.
(_Jv_bind): New static function. (bind): Use _Jv_bind. * java/net/natPlainSocketImpl.cc: Undefine bind, connect if defined. (_Jv_bind, _Jv_connect): New static functions. (bind): Use _Jv_bind. (connect): Use _Jv_connect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44494 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/net')
-rw-r--r--libjava/java/net/natPlainDatagramSocketImpl.cc14
-rw-r--r--libjava/java/net/natPlainSocketImpl.cc26
2 files changed, 37 insertions, 3 deletions
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc
index 4f6b3194c46..e15ead22b14 100644
--- a/libjava/java/net/natPlainDatagramSocketImpl.cc
+++ b/libjava/java/net/natPlainDatagramSocketImpl.cc
@@ -36,6 +36,18 @@ details. */
#include <bstring.h>
#endif
+// Avoid macro definitions of bind from system headers, e.g. on
+// Solaris 7 with _XOPEN_SOURCE. FIXME
+static inline int
+_Jv_bind (int fd, struct sockaddr *addr, int addrlen)
+{
+ return ::bind (fd, addr, addrlen);
+}
+
+#ifdef bind
+#undef bind
+#endif
+
#include <gcj/cni.h>
#include <java/io/IOException.h>
#include <java/io/FileDescriptor.h>
@@ -210,7 +222,7 @@ java::net::PlainDatagramSocketImpl::bind (jint lport,
else
throw new java::net::SocketException (JvNewStringUTF ("invalid length"));
- if (::bind (fnum, ptr, len) == 0)
+ if (_Jv_bind (fnum, ptr, len) == 0)
{
socklen_t addrlen = sizeof(u);
if (lport != 0)
diff --git a/libjava/java/net/natPlainSocketImpl.cc b/libjava/java/net/natPlainSocketImpl.cc
index 751b79821e2..545c5140696 100644
--- a/libjava/java/net/natPlainSocketImpl.cc
+++ b/libjava/java/net/natPlainSocketImpl.cc
@@ -33,6 +33,28 @@ details. */
#include <bstring.h>
#endif
+// Avoid macro definitions of bind, connect from system headers, e.g. on
+// Solaris 7 with _XOPEN_SOURCE. FIXME
+static inline int
+_Jv_bind (int fd, struct sockaddr *addr, int addrlen)
+{
+ return ::bind (fd, addr, addrlen);
+}
+
+#ifdef bind
+#undef bind
+#endif
+
+static inline int
+_Jv_connect (int fd, struct sockaddr *addr, int addrlen)
+{
+ return ::connect (fd, addr, addrlen);
+}
+
+#ifdef connect
+#undef connect
+#endif
+
#include <gcj/cni.h>
#include <gcj/javaprims.h>
#include <java/io/IOException.h>
@@ -164,7 +186,7 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
// Enable SO_REUSEADDR, so that servers can reuse ports left in TIME_WAIT.
::setsockopt(fnum, SOL_SOCKET, SO_REUSEADDR, (char *) &i, sizeof(i));
- if (::bind (fnum, ptr, len) == 0)
+ if (_Jv_bind (fnum, ptr, len) == 0)
{
address = host;
socklen_t addrlen = sizeof(u);
@@ -209,7 +231,7 @@ java::net::PlainSocketImpl::connect (java::net::InetAddress *host, jint rport)
else
throw new java::net::SocketException (JvNewStringUTF ("invalid length"));
- if (::connect (fnum, ptr, len) != 0)
+ if (_Jv_connect (fnum, ptr, len) != 0)
goto error;
address = host;
port = rport;
OpenPOWER on IntegriCloud