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
This commit is contained in:
parent
fe2e294c7e
commit
5ac99d9adc
4 changed files with 47 additions and 61 deletions
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue