This is the mail archive of the
java-patches@sources.redhat.com
mailing list for the Java project.
Re: java.net.URLDecoder doesn't follow spec.
- To: Tom Tromey <tromey at redhat dot com>
- Subject: Re: java.net.URLDecoder doesn't follow spec.
- From: Mark Wielaard <mark at klomp dot org>
- Date: Mon, 15 Jan 2001 00:24:18 +0100
- Cc: java-patches at sources dot redhat dot com
- References: <3A61CF99.E6BCFB7A@home.com> <20010114224545.B24802@klomp.org> <87wvbxdb1w.fsf@creche.redhat.com>
Hi,
On Sun, Jan 14, 2001 at 03:27:23PM -0700, Tom Tromey wrote:
> >>>>> "Mark" == Mark Wielaard <mark@klomp.org> writes:
>
> Mark> The following diff removes the Exception and merges URLDecoder
> Mark> with the comments of the Classpath version (the code was already
> Mark> the same).
>
> Thanks Mark. Please check this in if you haven't already (both
> Classpath and libgcj).
I have already checked it into Classpath CVS.
Although I should have write access to the gcc/libjava dir I have never
commited since the move to the gcc CVS tree.
Should patches only be send to java-patches (and approved)
or should a copy be send to gcc-patches (that is a very high volume list
that I don't want to follow if not absolutely neccesary).
> Hmm.. the comment before the decode method is wrong. It says:
>
> * This method translates the passed in string into x-www-form-urlencoded
> * format and returns it.
>
> However, the method actually translates from (out of) x-www-form-urlencoded.
I changed the comment. Here is the final patch.
2001-01-14 Mark Wielaard <mark@klomp.org>
* java/net/URLDecoder.java: Thanks Edgar Villanueva (edgarvil@home.com)
(decode): Merge comments with Classpath, don't throw Exception
Cheers,
Mark
Index: java/net/URLDecoder.java
===================================================================
RCS file: /cvs/gcc/egcs/libjava/java/net/URLDecoder.java,v
retrieving revision 1.3
diff -u -u -r1.3 URLDecoder.java
--- URLDecoder.java 2000/03/07 19:55:27 1.3
+++ URLDecoder.java 2001/01/14 23:13:16
@@ -1,33 +1,67 @@
-// URLDecoder.java - Provides a method for decoding strings according to
-// application/x-www-form-urlencoded MIME type.
+/* URLDecoder.java -- Class to decode URL's from encoded form.
+ Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-/* Copyright (C) 1999 Free Software Foundation
+This file is part of GNU Classpath.
- This file is part of libgcj.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+As a special exception, if you link this library with other files to
+produce an executable, this library does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU General Public License. */
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
package java.net;
-import java.io.UnsupportedEncodingException;
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date April 22, 1999.
- */
+import java.io.UnsupportedEncodingException;
/**
- * Written using on-line Java Platform 1.2 API Specification.
- * Status: Believed complete and correct.
- */
-
-// JDK1.2
+ * This utility class contains one static method that converts a
+ * string encoded in the x-www-form-urlencoded format to the original
+ * text. The x-www-form-urlencoded format
+ * replaces certain disallowed characters with
+ * encoded equivalents. All upper case and lower case letters in the
+ * US alphabet remain as is, the space character (' ') is replaced with
+ * '+' sign, and all other characters are converted to a "%XX" format
+ * where XX is the hexadecimal representation of that character. Note
+ * that since unicode characters are 16 bits, and this method encodes only
+ * 8 bits of information, the lower 8 bits of the character are used.
+ * <p>
+ * This method is very useful for decoding strings sent to CGI scripts
+ *
+ * Written using on-line Java Platform 1.2 API Specification.
+ * Status: Believed complete and correct.
+ *
+ * @since 1.2
+ *
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @author Aaron M. Renn (arenn@urbanophile.com) (documentation comments)
+ * @date April 22, 1999.
+ */
public class URLDecoder
{
- // This method, per the JCL, is conservative in that it encodes
- // some "allowable" characters as % triplets.
- public static String decode(String s) throws Exception
+/**
+ * This method translates the passed in string from x-www-form-urlencoded
+ * format and returns it.
+ *
+ * @param source The String to convert
+ *
+ * @return The converted String
+ */
+ public static String decode(String s)
{
String str = s.replace('+', ' ');
String result = "";
@@ -45,4 +79,5 @@
return result;
}
-}
+} // class URLDecoder
+