natPlainDatagramSocketImpl.cc: Undefine bind if defined.
authorJeff Sturm <jsturm@one-point.com>
Tue, 31 Jul 2001 01:59:44 +0000 (01:59 +0000)
committerJeff Sturm <jsturm@gcc.gnu.org>
Tue, 31 Jul 2001 01:59:44 +0000 (01:59 +0000)
* 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.

From-SVN: r44494

libjava/ChangeLog
libjava/java/net/natPlainDatagramSocketImpl.cc
libjava/java/net/natPlainSocketImpl.cc

index a46d06bd016991aa413dac1032f8b19789cd8eee..f3dd6826600c0b431e31fa9a52092ed4d39ea7b7 100644 (file)
@@ -1,3 +1,13 @@
+2001-07-30  Jeff Sturm  <jsturm@one-point.com>
+
+       * 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.
+
 2001-07-30  Tom Tromey  <tromey@redhat.com>
            Corey Minyard  <minyard@acm.org>
 
index 4f6b3194c46354f8115eb23ed2f8f5de040fef99..e15ead22b14bcda0172c1e7f44ddc7253dcde569 100644 (file)
@@ -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)
index 751b79821e2c037175cb03ab27224effaa8abd30..545c51406961c14397fcf5babf9efbb203896aa4 100644 (file)
@@ -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;