This is the mail archive of the java-patches@sources.redhat.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: java.net.URLDecoder doesn't follow spec.


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
+

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]