From 64089cc9f030d8ef7972adb5d117e0b23f47d62b Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 18 May 2006 17:29:21 +0000 Subject: Imported GNU Classpath 0.90 * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113887 138bc75d-0d04-0410-961f-82ee72b054a4 --- .../classpath/gnu/CORBA/GIOP/MessageHeader.java | 33 ++++++++++++++++------ 1 file changed, 25 insertions(+), 8 deletions(-) (limited to 'libjava/classpath/gnu/CORBA/GIOP/MessageHeader.java') diff --git a/libjava/classpath/gnu/CORBA/GIOP/MessageHeader.java b/libjava/classpath/gnu/CORBA/GIOP/MessageHeader.java index e1bdb512bfb..0252838581d 100644 --- a/libjava/classpath/gnu/CORBA/GIOP/MessageHeader.java +++ b/libjava/classpath/gnu/CORBA/GIOP/MessageHeader.java @@ -51,6 +51,7 @@ import org.omg.CORBA.MARSHAL; import org.omg.CORBA.portable.IDLEntity; import java.io.ByteArrayOutputStream; +import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -273,20 +274,36 @@ public class MessageHeader * Read the header from the stream. * * @param istream a stream to read from. - * * @throws MARSHAL if this is not a GIOP 1.0 header. */ - public void read(java.io.InputStream istream) - throws MARSHAL + public void read(java.io.InputStream istream) + throws MARSHAL, EOFException { try { byte[] xMagic = new byte[MAGIC.length]; - istream.read(xMagic); - if (!Arrays.equals(xMagic, MAGIC)) + int r = istream.read(xMagic); + int minor; + if (! Arrays.equals(xMagic, MAGIC)) { - MARSHAL m = new MARSHAL("Not a GIOP message"); - m.minor = Minor.Giop; + StringBuffer b = new StringBuffer(); + if (r == - 1) + { + b.append("Immediate EOF"); + minor = Minor.EOF; + } + else + { + minor = Minor.Giop; + b.append(r + " bytes: "); + for (int i = 0; i < xMagic.length; i++) + { + b.append(Integer.toHexString(xMagic[i] & 0xFF)); + b.append(' '); + } + } + MARSHAL m = new MARSHAL("Not a GIOP message: " + b); + m.minor = minor; throw m; } @@ -354,7 +371,7 @@ public class MessageHeader } catch (IOException ex) { - MARSHAL t = new MARSHAL(); + MARSHAL t = new MARSHAL(ex.getMessage()); t.minor = Minor.Header; t.initCause(ex); throw t; -- cgit v1.2.3