summaryrefslogtreecommitdiff
path: root/libjava/classpath/java/io/ObjectOutputStream.java
diff options
context:
space:
mode:
authordoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-28 13:29:13 +0000
committerdoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-28 13:29:13 +0000
commit1020ce5944edde4364baef4d371cd4f9b0dae721 (patch)
tree602cd7aa7c947386134690d8e0f6b53abcdeacb9 /libjava/classpath/java/io/ObjectOutputStream.java
parent9f41ce98ce6f4f7c8ac5e2c4b6e5d27e10201015 (diff)
downloadgcc-1020ce5944edde4364baef4d371cd4f9b0dae721.tar.gz
libjava/
2008-06-28 Matthias Klose <doko@ubuntu.com> Import GNU Classpath (classpath-0_97_2-release). * Regenerate class and header files. * Regenerate auto* files. * gcj/javaprims.h: Define jobjectRefType. * jni.cc (_Jv_JNI_GetObjectRefType): New (stub only). (_Jv_JNIFunctions): Initialize GetObjectRefType. * gnu/classpath/jdwp/VMVirtualMachine.java, java/security/VMSecureRandom.java: Merge from classpath. * HACKING: Fix typo. * ChangeLog-2007: New file. * configure.ac: Set JAVAC, pass --disable-regen-headers to classpath. libjava/classpath/ 2008-06-28 Matthias Klose <doko@ubuntu.com> * m4/ac_prog_javac.m4: Disable check for JAVAC, when not configured with --enable-java-maintainer-mode. * aclocal.m4, configure: Regenerate. * native/jni/gstreamer-peer/Makefile.am: Do not link with libclasspathnative. * native/jni/gstreamer-peer/Makefile.in: Regenerate. * tools/Makefile.am, lib/Makefile.am: Use JAVAC for setting JCOMPILER, drop flags not understood by gcj. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137223 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/java/io/ObjectOutputStream.java')
-rw-r--r--libjava/classpath/java/io/ObjectOutputStream.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/libjava/classpath/java/io/ObjectOutputStream.java b/libjava/classpath/java/io/ObjectOutputStream.java
index b1894b36882..303aed472d9 100644
--- a/libjava/classpath/java/io/ObjectOutputStream.java
+++ b/libjava/classpath/java/io/ObjectOutputStream.java
@@ -1,5 +1,5 @@
/* ObjectOutputStream.java -- Class used to write serialized objects
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -363,10 +363,22 @@ public class ObjectOutputStream extends OutputStream
if (obj instanceof String)
{
- realOutput.writeByte(TC_STRING);
- if (shared)
- assignNewHandle(obj);
- realOutput.writeUTF((String)obj);
+ String s = (String)obj;
+ long l = realOutput.getUTFlength(s, 0, 0);
+ if (l <= 65535)
+ {
+ realOutput.writeByte(TC_STRING);
+ if (shared)
+ assignNewHandle(obj);
+ realOutput.writeUTFShort(s, (int)l);
+ }
+ else
+ {
+ realOutput.writeByte(TC_LONGSTRING);
+ if (shared)
+ assignNewHandle(obj);
+ realOutput.writeUTFLong(s, l);
+ }
break;
}