This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Patch: natSocketChannelImpl.cc use elements + explicit cast
- From: Mohan Embar <gnustuff at thisiscool dot com>
- To: GCJ Patches <java-patches at gcc dot gnu dot org>
- Date: Fri, 07 Mar 2003 23:19:21 -0600
- Subject: Patch: natSocketChannelImpl.cc use elements + explicit cast
- Reply-to: gnustuff at thisiscool dot com
Hi Patch Folks,
This patch addresses something that broke under the MingW build,
possibly because jbyte seems to be unsigned char and not signed char
on Win32. It also appeared to me that "elements(data)" was needed instead
of just plain "data". Am I right?
Also see my comment about the cast to char* instead of const char*
in ::send().
Enjoy.
-- Mohan
http://www.thisiscool.com/
http://www.animalsong.org/
ChangeLog
2003-03-07 Mohan Embar <gnustuff at thisiscool dot com>
* gnu/java/nio/natSocketChannelImpl.cc (SocketRead): use
elements(data) and explicitly cast to char* on platforms
where jbyte is not signed char
(SocketWrite): idem
Index: gnu/java/nio/natSocketChannelImpl.cc
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/gnu/java/nio/natSocketChannelImpl.cc,v
retrieving revision 1.1.12.2
diff -u -2 -r1.1.12.2 natSocketChannelImpl.cc
--- gnu/java/nio/natSocketChannelImpl.cc 1 Mar 2003 22:57:53 -0000 1.1.12.2
+++ gnu/java/nio/natSocketChannelImpl.cc 8 Mar 2003 02:34:11 -0000
@@ -144,5 +144,6 @@
jint offset, jint length)
{
- int result = ::recv (fd, data, offset, length);
+ int result =
+ ::recv (fd, reinterpret_cast<char*>(elements(data)), offset, length);
if (result < 0)
@@ -159,5 +160,8 @@
jint offset, jint length)
{
- int result = ::send (fd, data, offset, length);
+ int result =
+ ::send (fd, reinterpret_cast<char*>(elements(data)), offset, length);
+ // made this char* instead of const char* because I wasn't sure
+ // about the API on all UNICES.
if (result < 0)