diff options
author | Bryce McKinlay <mckinlay@redhat.com> | 2005-05-30 16:02:38 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2005-05-30 17:02:38 +0100 |
commit | 2a2ea376740f560a57da8b03a179928c7d29c3d4 (patch) | |
tree | 6e6ccc596c4328349a4c6539a7c9819425f459b6 | |
parent | 2a8a8f8fc2223f6acc1c13eaa5a0125cf543c3bc (diff) | |
download | gcc-2a2ea376740f560a57da8b03a179928c7d29c3d4.zip gcc-2a2ea376740f560a57da8b03a179928c7d29c3d4.tar.gz gcc-2a2ea376740f560a57da8b03a179928c7d29c3d4.tar.bz2 |
re PR libgcj/21821 (MAXPATHLEN usage in libjava)
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.
From-SVN: r100364
-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 4d7f6da..ca9f2f4 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 742201b..24b6396 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); |