diff options
| author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-30 16:02:38 +0000 |
|---|---|---|
| committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-30 16:02:38 +0000 |
| commit | 721081f33ce32daf2cb9af786b5c2e5ba82d46c5 (patch) | |
| tree | 6e6ccc596c4328349a4c6539a7c9819425f459b6 | |
| parent | 09391e073692ca1bd1a79c1dfc329496acd7a003 (diff) | |
| download | ppe42-gcc-721081f33ce32daf2cb9af786b5c2e5ba82d46c5.tar.gz ppe42-gcc-721081f33ce32daf2cb9af786b5c2e5ba82d46c5.zip | |
2005-05-30 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/21821
* gnu/java/nio/channels/natFileChannelPosix.cc (open): Don't use
MAXPATHLEN. Format exception message using a StringBuffer instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100364 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | libjava/ChangeLog | 6 | ||||
| -rw-r--r-- | libjava/gnu/java/nio/channels/natFileChannelPosix.cc | 11 |
2 files changed, 12 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 4d7f6dac1e7..ca9f2f45fe1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2005-05-30 Bryce McKinlay <mckinlay@redhat.com> + + PR libgcj/21821 + * gnu/java/nio/channels/natFileChannelPosix.cc (open): Don't use + MAXPATHLEN. Format exception message using a StringBuffer instead. + 2005-05-29 Michael Koch <konqueror@gmx.de> PR libgcj/20273: diff --git a/libjava/gnu/java/nio/channels/natFileChannelPosix.cc b/libjava/gnu/java/nio/channels/natFileChannelPosix.cc index 742201bde94..24b6396c66c 100644 --- a/libjava/gnu/java/nio/channels/natFileChannelPosix.cc +++ b/libjava/gnu/java/nio/channels/natFileChannelPosix.cc @@ -37,6 +37,7 @@ details. */ #include <java/lang/NullPointerException.h> #include <java/lang/System.h> #include <java/lang/String.h> +#include <java/lang/StringBuffer.h> #include <java/lang/Thread.h> #include <java/nio/ByteBuffer.h> #include <java/nio/MappedByteBufferImpl.h> @@ -168,13 +169,13 @@ FileChannelImpl::open (jstring path, jint jflags) } if (fd == -1) { - char msg[MAXPATHLEN + 200]; // We choose the formatting here for JDK compatibility, believe // it or not. - sprintf (msg, "%.*s (%.*s)", - MAXPATHLEN + 150, buf, - 40, strerror (errno)); - throw new ::java::io::FileNotFoundException (JvNewStringLatin1 (msg)); + ::java::lang::StringBuffer *msg = new ::java::lang::StringBuffer (path); + msg->append (JvNewStringUTF (" (")); + msg->append (JvNewStringUTF (strerror (errno))); + msg->append (JvNewStringUTF (")")); + throw new ::java::io::FileNotFoundException (msg->toString ()); } _Jv_platform_close_on_exec (fd); |

