aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-17 05:11:28 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-17 05:11:28 +0000
commit3fc738ce002368b603beb198183b46ee61a42697 (patch)
tree4fc7a8398de67d8cfc0814aca10631f124cfc663 /libjava
parent5f2e6c8ea21c08f8621f08762afa086898ee092b (diff)
1999-12-16 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/Boolean.java (Boolean(String)): Set Value' to false on a null String constructor parameter. * java/net/natPlainSocketImpl.cc: Remove unneccessary sprintf calls for exception messages. BooleanClass: declare. (setOption): Use BooleanClass instead of Class.forName() for instanceof test. (bind): Cast 4th parameter of setsockopt to char *' for compatibility with older Solaris headers. * java/net/natPlainDatagramSocketImpl.cc: Remove unneccessary sprintf calls for exception messages. BooleanClass, IntegerClass: declare. (setOption): Use BooleanClass and IntegerClass, not Class.forName() for instanceof test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30988 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog17
-rw-r--r--libjava/java/lang/Boolean.java2
-rw-r--r--libjava/java/net/natPlainDatagramSocketImpl.cc52
-rw-r--r--libjava/java/net/natPlainSocketImpl.cc37
4 files changed, 47 insertions, 61 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 4af6b3ef239..69fb018fd55 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,20 @@
+1999-12-16 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * java/lang/Boolean.java (Boolean(String)): Set `value' to false on a
+ null String constructor parameter.
+ * java/net/natPlainSocketImpl.cc: Remove unneccessary sprintf calls
+ for exception messages.
+ BooleanClass: declare.
+ (setOption): Use BooleanClass instead of Class.forName() for
+ instanceof test.
+ (bind): Cast 4th parameter of setsockopt to `char *' for
+ compatibility with older Solaris headers.
+ * java/net/natPlainDatagramSocketImpl.cc: Remove unneccessary
+ sprintf calls for exception messages.
+ BooleanClass, IntegerClass: declare.
+ (setOption): Use BooleanClass and IntegerClass, not Class.forName()
+ for instanceof test.
+
1999-12-15 Tom Tromey <tromey@cygnus.com>
* java/lang/natSystem.cc (init_properties): Don't set user.name or
diff --git a/libjava/java/lang/Boolean.java b/libjava/java/lang/Boolean.java
index 060f1261fba..b4c45001644 100644
--- a/libjava/java/lang/Boolean.java
+++ b/libjava/java/lang/Boolean.java
@@ -39,7 +39,7 @@ public final class Boolean extends Object implements Serializable
public Boolean(String strVal)
{
- value = strVal.equalsIgnoreCase("true");
+ value = (strVal == null ? false : strVal.equalsIgnoreCase("true"));
}
public boolean booleanValue()
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc
index 472faafcf1d..c48b1bcf0e6 100644
--- a/libjava/java/net/natPlainDatagramSocketImpl.cc
+++ b/libjava/java/net/natPlainDatagramSocketImpl.cc
@@ -25,7 +25,6 @@ details. */
#include <arpa/inet.h>
#endif
#include <errno.h>
-#include <stdio.h>
#include <string.h>
#if HAVE_BSTRING_H
@@ -47,6 +46,11 @@ details. */
#include <java/lang/Boolean.h>
#include <java/lang/Integer.h>
+#define BooleanClass _CL_Q34java4lang7Boolean
+extern java::lang::Class BooleanClass;
+#define IntegerClass _CL_Q34java4lang7Integer
+extern java::lang::Class IntegerClass;
+
#ifdef DISABLE_JAVA_NET
void
@@ -152,10 +156,8 @@ java::net::PlainDatagramSocketImpl::create ()
int sock = ::socket (AF_INET, SOCK_DGRAM, 0);
if (sock < 0)
{
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
}
fnum = sock;
fd = new java::io::FileDescriptor (sock);
@@ -206,10 +208,8 @@ java::net::PlainDatagramSocketImpl::bind (jint lport,
return;
}
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::BindException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::BindException (JvNewStringUTF (strerr)));
}
jint
@@ -246,10 +246,8 @@ java::net::PlainDatagramSocketImpl::peek (java::net::InetAddress *i)
i->address = raddr;
return rport;
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void
@@ -284,10 +282,8 @@ java::net::PlainDatagramSocketImpl::send (java::net::DatagramPacket *p)
if (::sendto (fnum, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0)
return;
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void
@@ -344,10 +340,8 @@ java::net::PlainDatagramSocketImpl::receive (java::net::DatagramPacket *p)
p->setLength ((jint) retlen);
return;
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void
@@ -359,10 +353,8 @@ java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
if (::setsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
return;
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
jint
@@ -374,10 +366,8 @@ java::net::PlainDatagramSocketImpl::getTimeToLive ()
if (::getsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
return ((int) val) & 0xFF;
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void
@@ -423,10 +413,8 @@ java::net::PlainDatagramSocketImpl::mcastGrp (java::net::InetAddress *inetaddr,
if (::setsockopt (fnum, level, opname, ptr, len) == 0)
return;
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void
@@ -436,15 +424,13 @@ java::net::PlainDatagramSocketImpl::setOption (jint optID,
int val;
socklen_t val_len = sizeof (val);
- if ( _Jv_IsInstanceOf(value,
- java::lang::Class::forName(JvNewStringUTF("java.lang.Boolean"))))
+ if (_Jv_IsInstanceOf (value, &BooleanClass))
{
java::lang::Boolean *boolobj =
static_cast<java::lang::Boolean *> (value);
val = boolobj->booleanValue() ? 1 : 0;
}
- else if ( _Jv_IsInstanceOf(value,
- java::lang::Class::forName(JvNewStringUTF("java.lang.Integer"))))
+ else if (_Jv_IsInstanceOf (value, &IntegerClass))
{
java::lang::Integer *intobj =
static_cast<java::lang::Integer *> (value);
@@ -530,10 +516,8 @@ java::net::PlainDatagramSocketImpl::setOption (jint optID,
}
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
}
java::lang::Object *
@@ -632,10 +616,8 @@ java::net::PlainDatagramSocketImpl::getOption (jint optID)
}
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
}
#endif /* DISABLE_JAVA_NET */
diff --git a/libjava/java/net/natPlainSocketImpl.cc b/libjava/java/net/natPlainSocketImpl.cc
index 732eb36155f..885c3bdcabf 100644
--- a/libjava/java/net/natPlainSocketImpl.cc
+++ b/libjava/java/net/natPlainSocketImpl.cc
@@ -18,7 +18,6 @@ details. */
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <errno.h>
-#include <stdio.h>
#include <string.h>
#endif /* DISABLE_JAVA_NET */
@@ -43,6 +42,9 @@ details. */
#include <java/lang/Class.h>
#include <java/lang/Integer.h>
+#define BooleanClass _CL_Q34java4lang7Boolean
+extern java::lang::Class BooleanClass;
+
#ifdef DISABLE_JAVA_NET
void
@@ -107,10 +109,8 @@ java::net::PlainSocketImpl::create (jboolean stream)
int sock = ::socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
if (sock < 0)
{
- char msg[100];
char* strerr = strerror (errno);
- sprintf (msg, "SocketImpl.create: %.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
fnum = sock;
fd = new java::io::FileDescriptor (sock);
@@ -149,7 +149,7 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
goto error;
// Enable SO_REUSEADDR, so that servers can reuse ports left in TIME_WAIT.
- ::setsockopt(fnum, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i));
+ ::setsockopt(fnum, SOL_SOCKET, SO_REUSEADDR, (char *) &i, sizeof(i));
if (::bind (fnum, ptr, len) == 0)
{
@@ -164,10 +164,8 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
return;
}
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::BindException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::BindException (JvNewStringUTF (strerr)));
}
void
@@ -209,10 +207,8 @@ java::net::PlainSocketImpl::connect (java::net::InetAddress *host, jint rport)
goto error;
return;
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::ConnectException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::ConnectException (JvNewStringUTF (strerr)));
}
void
@@ -220,10 +216,8 @@ java::net::PlainSocketImpl::listen (jint backlog)
{
if (::listen (fnum, backlog) != 0)
{
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
}
@@ -279,10 +273,8 @@ java::net::PlainSocketImpl::accept (java::net::PlainSocketImpl *s)
s->fd = new java::io::FileDescriptor (new_socket);
return;
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void
@@ -291,8 +283,7 @@ java::net::PlainSocketImpl::setOption (jint optID, java::lang::Object *value)
int val;
socklen_t val_len = sizeof (val);
- if ( _Jv_IsInstanceOf(value,
- java::lang::Class::forName(JvNewStringUTF("java.lang.Boolean"))))
+ if (_Jv_IsInstanceOf (value, &BooleanClass))
{
java::lang::Boolean *boolobj =
static_cast<java::lang::Boolean *> (value);
@@ -370,10 +361,8 @@ java::net::PlainSocketImpl::setOption (jint optID, java::lang::Object *value)
}
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
}
java::lang::Object *
@@ -470,10 +459,8 @@ java::net::PlainSocketImpl::getOption (jint optID)
}
error:
- char msg[80];
char* strerr = strerror (errno);
- sprintf (msg, "%.*s", 80, strerr);
- JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
+ JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
}
#endif /* DISABLE_JAVA_NET */