[Gd-chatter] r11331 - trunk/libraries/network/koala/sources/koala

turbo24prg at gwydiondylan.org turbo24prg at gwydiondylan.org
Sun May 6 18:11:49 CEST 2007


Author: turbo24prg
Date: Sun May  6 18:11:47 2007
New Revision: 11331

Modified:
   trunk/libraries/network/koala/sources/koala/server.dylan
   trunk/libraries/network/koala/sources/koala/urls.dylan
Log:
Job: minor
real fix for space escaping bug


Modified: trunk/libraries/network/koala/sources/koala/server.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/koala/server.dylan	(original)
+++ trunk/libraries/network/koala/sources/koala/server.dylan	Sun May  6 18:11:47 2007
@@ -773,12 +773,6 @@
  => (content :: <string>)
   log-debug("Form query string = %=",
             copy-sequence(buffer, end: content-length));
-  // Replace '+' with Space.  See RFC 1866 (HTML) section 8.2.
-  // Must do this before calling decode-url.
-  for (i from 0 below buffer.size)
-    iff(buffer[i] == '+',
-        buffer[i] := ' ');
-  end; 
   let content = decode-url(buffer, 0, content-length);
   // By the time we get here request-query-values has already been bound to a <string-table>
   // containing the URL query values.  Now we augment it with any form values.

Modified: trunk/libraries/network/koala/sources/koala/urls.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/koala/urls.dylan	(original)
+++ trunk/libraries/network/koala/sources/koala/urls.dylan	Sun May  6 18:11:47 2007
@@ -29,13 +29,13 @@
 define function decode-url
     (str :: <byte-string>, bpos :: <integer>, epos :: <integer>)
  => (str :: <byte-string>)
+  // Replace '+' with Space.  See RFC 1866 (HTML) section 8.2.
+  for (i from 0 below str.size)
+    iff(str[i] == '+',
+        str[i] := ' ');
+  end;
   // Note: n accumulates how many chars are NOT needed in the copy.
   iterate count (pos :: <integer> = bpos, n :: <integer> = 0)
-    let plus-position = char-position('+', str, pos, epos);
-    if (plus-position)
-      str[plus-position] := ' ';
-    end if;
-    
     let pos = char-position('%', str, pos, epos);
     if (pos)
       if (pos + 3 <= epos)



More information about the chatter mailing list