Commit 5ac99d9a by Bryce McKinlay Committed by Bryce McKinlay

Boolean.java (Boolean(String)): Set Value' to false on a null String constructor parameter.

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.

From-SVN: r30988
parent fe2e294c
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> 1999-12-15 Tom Tromey <tromey@cygnus.com>
* java/lang/natSystem.cc (init_properties): Don't set user.name or * java/lang/natSystem.cc (init_properties): Don't set user.name or
......
...@@ -39,7 +39,7 @@ public final class Boolean extends Object implements Serializable ...@@ -39,7 +39,7 @@ public final class Boolean extends Object implements Serializable
public Boolean(String strVal) public Boolean(String strVal)
{ {
value = strVal.equalsIgnoreCase("true"); value = (strVal == null ? false : strVal.equalsIgnoreCase("true"));
} }
public boolean booleanValue() public boolean booleanValue()
......
...@@ -25,7 +25,6 @@ details. */ ...@@ -25,7 +25,6 @@ details. */
#include <arpa/inet.h> #include <arpa/inet.h>
#endif #endif
#include <errno.h> #include <errno.h>
#include <stdio.h>
#include <string.h> #include <string.h>
#if HAVE_BSTRING_H #if HAVE_BSTRING_H
...@@ -47,6 +46,11 @@ details. */ ...@@ -47,6 +46,11 @@ details. */
#include <java/lang/Boolean.h> #include <java/lang/Boolean.h>
#include <java/lang/Integer.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 #ifdef DISABLE_JAVA_NET
void void
...@@ -152,10 +156,8 @@ java::net::PlainDatagramSocketImpl::create () ...@@ -152,10 +156,8 @@ java::net::PlainDatagramSocketImpl::create ()
int sock = ::socket (AF_INET, SOCK_DGRAM, 0); int sock = ::socket (AF_INET, SOCK_DGRAM, 0);
if (sock < 0) if (sock < 0)
{ {
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
} }
fnum = sock; fnum = sock;
fd = new java::io::FileDescriptor (sock); fd = new java::io::FileDescriptor (sock);
...@@ -206,10 +208,8 @@ java::net::PlainDatagramSocketImpl::bind (jint lport, ...@@ -206,10 +208,8 @@ java::net::PlainDatagramSocketImpl::bind (jint lport,
return; return;
} }
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::BindException (JvNewStringUTF (strerr)));
JvThrow (new java::net::BindException (JvNewStringUTF (msg)));
} }
jint jint
...@@ -246,10 +246,8 @@ java::net::PlainDatagramSocketImpl::peek (java::net::InetAddress *i) ...@@ -246,10 +246,8 @@ java::net::PlainDatagramSocketImpl::peek (java::net::InetAddress *i)
i->address = raddr; i->address = raddr;
return rport; return rport;
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
void void
...@@ -284,10 +282,8 @@ java::net::PlainDatagramSocketImpl::send (java::net::DatagramPacket *p) ...@@ -284,10 +282,8 @@ java::net::PlainDatagramSocketImpl::send (java::net::DatagramPacket *p)
if (::sendto (fnum, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0) if (::sendto (fnum, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0)
return; return;
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
void void
...@@ -344,10 +340,8 @@ java::net::PlainDatagramSocketImpl::receive (java::net::DatagramPacket *p) ...@@ -344,10 +340,8 @@ java::net::PlainDatagramSocketImpl::receive (java::net::DatagramPacket *p)
p->setLength ((jint) retlen); p->setLength ((jint) retlen);
return; return;
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
void void
...@@ -359,10 +353,8 @@ java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl) ...@@ -359,10 +353,8 @@ java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
if (::setsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0) if (::setsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
return; return;
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
jint jint
...@@ -374,10 +366,8 @@ java::net::PlainDatagramSocketImpl::getTimeToLive () ...@@ -374,10 +366,8 @@ java::net::PlainDatagramSocketImpl::getTimeToLive ()
if (::getsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0) if (::getsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
return ((int) val) & 0xFF; return ((int) val) & 0xFF;
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
void void
...@@ -423,10 +413,8 @@ java::net::PlainDatagramSocketImpl::mcastGrp (java::net::InetAddress *inetaddr, ...@@ -423,10 +413,8 @@ java::net::PlainDatagramSocketImpl::mcastGrp (java::net::InetAddress *inetaddr,
if (::setsockopt (fnum, level, opname, ptr, len) == 0) if (::setsockopt (fnum, level, opname, ptr, len) == 0)
return; return;
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
void void
...@@ -436,15 +424,13 @@ java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -436,15 +424,13 @@ java::net::PlainDatagramSocketImpl::setOption (jint optID,
int val; int val;
socklen_t val_len = sizeof (val); socklen_t val_len = sizeof (val);
if ( _Jv_IsInstanceOf(value, if (_Jv_IsInstanceOf (value, &BooleanClass))
java::lang::Class::forName(JvNewStringUTF("java.lang.Boolean"))))
{ {
java::lang::Boolean *boolobj = java::lang::Boolean *boolobj =
static_cast<java::lang::Boolean *> (value); static_cast<java::lang::Boolean *> (value);
val = boolobj->booleanValue() ? 1 : 0; val = boolobj->booleanValue() ? 1 : 0;
} }
else if ( _Jv_IsInstanceOf(value, else if (_Jv_IsInstanceOf (value, &IntegerClass))
java::lang::Class::forName(JvNewStringUTF("java.lang.Integer"))))
{ {
java::lang::Integer *intobj = java::lang::Integer *intobj =
static_cast<java::lang::Integer *> (value); static_cast<java::lang::Integer *> (value);
...@@ -530,10 +516,8 @@ java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -530,10 +516,8 @@ java::net::PlainDatagramSocketImpl::setOption (jint optID,
} }
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
} }
java::lang::Object * java::lang::Object *
...@@ -632,10 +616,8 @@ java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -632,10 +616,8 @@ java::net::PlainDatagramSocketImpl::getOption (jint optID)
} }
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
} }
#endif /* DISABLE_JAVA_NET */ #endif /* DISABLE_JAVA_NET */
...@@ -18,7 +18,6 @@ details. */ ...@@ -18,7 +18,6 @@ details. */
#include <netinet/in.h> #include <netinet/in.h>
#include <netinet/tcp.h> #include <netinet/tcp.h>
#include <errno.h> #include <errno.h>
#include <stdio.h>
#include <string.h> #include <string.h>
#endif /* DISABLE_JAVA_NET */ #endif /* DISABLE_JAVA_NET */
...@@ -43,6 +42,9 @@ details. */ ...@@ -43,6 +42,9 @@ details. */
#include <java/lang/Class.h> #include <java/lang/Class.h>
#include <java/lang/Integer.h> #include <java/lang/Integer.h>
#define BooleanClass _CL_Q34java4lang7Boolean
extern java::lang::Class BooleanClass;
#ifdef DISABLE_JAVA_NET #ifdef DISABLE_JAVA_NET
void void
...@@ -107,10 +109,8 @@ java::net::PlainSocketImpl::create (jboolean stream) ...@@ -107,10 +109,8 @@ java::net::PlainSocketImpl::create (jboolean stream)
int sock = ::socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0); int sock = ::socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
if (sock < 0) if (sock < 0)
{ {
char msg[100];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "SocketImpl.create: %.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
fnum = sock; fnum = sock;
fd = new java::io::FileDescriptor (sock); fd = new java::io::FileDescriptor (sock);
...@@ -149,7 +149,7 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport) ...@@ -149,7 +149,7 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
goto error; goto error;
// Enable SO_REUSEADDR, so that servers can reuse ports left in TIME_WAIT. // 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) if (::bind (fnum, ptr, len) == 0)
{ {
...@@ -164,10 +164,8 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport) ...@@ -164,10 +164,8 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
return; return;
} }
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::BindException (JvNewStringUTF (strerr)));
JvThrow (new java::net::BindException (JvNewStringUTF (msg)));
} }
void void
...@@ -209,10 +207,8 @@ java::net::PlainSocketImpl::connect (java::net::InetAddress *host, jint rport) ...@@ -209,10 +207,8 @@ java::net::PlainSocketImpl::connect (java::net::InetAddress *host, jint rport)
goto error; goto error;
return; return;
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::ConnectException (JvNewStringUTF (strerr)));
JvThrow (new java::net::ConnectException (JvNewStringUTF (msg)));
} }
void void
...@@ -220,10 +216,8 @@ java::net::PlainSocketImpl::listen (jint backlog) ...@@ -220,10 +216,8 @@ java::net::PlainSocketImpl::listen (jint backlog)
{ {
if (::listen (fnum, backlog) != 0) if (::listen (fnum, backlog) != 0)
{ {
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
} }
...@@ -279,10 +273,8 @@ java::net::PlainSocketImpl::accept (java::net::PlainSocketImpl *s) ...@@ -279,10 +273,8 @@ java::net::PlainSocketImpl::accept (java::net::PlainSocketImpl *s)
s->fd = new java::io::FileDescriptor (new_socket); s->fd = new java::io::FileDescriptor (new_socket);
return; return;
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
} }
void void
...@@ -291,8 +283,7 @@ java::net::PlainSocketImpl::setOption (jint optID, java::lang::Object *value) ...@@ -291,8 +283,7 @@ java::net::PlainSocketImpl::setOption (jint optID, java::lang::Object *value)
int val; int val;
socklen_t val_len = sizeof (val); socklen_t val_len = sizeof (val);
if ( _Jv_IsInstanceOf(value, if (_Jv_IsInstanceOf (value, &BooleanClass))
java::lang::Class::forName(JvNewStringUTF("java.lang.Boolean"))))
{ {
java::lang::Boolean *boolobj = java::lang::Boolean *boolobj =
static_cast<java::lang::Boolean *> (value); static_cast<java::lang::Boolean *> (value);
...@@ -370,10 +361,8 @@ java::net::PlainSocketImpl::setOption (jint optID, java::lang::Object *value) ...@@ -370,10 +361,8 @@ java::net::PlainSocketImpl::setOption (jint optID, java::lang::Object *value)
} }
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
} }
java::lang::Object * java::lang::Object *
...@@ -470,10 +459,8 @@ java::net::PlainSocketImpl::getOption (jint optID) ...@@ -470,10 +459,8 @@ java::net::PlainSocketImpl::getOption (jint optID)
} }
error: error:
char msg[80];
char* strerr = strerror (errno); char* strerr = strerror (errno);
sprintf (msg, "%.*s", 80, strerr); JvThrow (new java::net::SocketException (JvNewStringUTF (strerr)));
JvThrow (new java::net::SocketException (JvNewStringUTF (msg)));
} }
#endif /* DISABLE_JAVA_NET */ #endif /* DISABLE_JAVA_NET */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment