[Gd-chatter] r11712 - trunk/libraries/uri

cgay at gwydiondylan.org cgay at gwydiondylan.org
Tue Feb 26 14:43:34 CET 2008


Author: cgay
Date: Tue Feb 26 14:43:34 2008
New Revision: 11712

Modified:
   trunk/libraries/uri/uri.dylan
Log:
job: koala
Fixed argument order in regex-replace call.

Modified: trunk/libraries/uri/uri.dylan
==============================================================================
--- trunk/libraries/uri/uri.dylan	(original)
+++ trunk/libraries/uri/uri.dylan	Tue Feb 26 14:43:34 2008
@@ -59,14 +59,18 @@
 $uri-parts[#"segment"] := $uri-segment;
 define constant $uri-fragment = $uri-query;
 
+define constant $uri-regex :: <regex>
+    = compile-regex("^(([^:/?#]+):)?(//((([^/?#]*)@)?([^/?#:]*)(:([^/?#]*))?))?([^?#]*)"
+                    "(\\?([^#]*))?(#(.*))?");
+
 define method parse-uri-as (class :: subclass(<uri>), uri :: <string>) => (result :: <uri>);
-  let (uri, _scheme, scheme, _authority, authority, 
+  let (uri, _scheme, scheme, _authority, authority,
        _userinfo, userinfo, host, _port, port,
-       path, _query, query, _fragment, fragment) = 
-    regex-search-strings("^(([^:/?#]+):)?(//((([^/?#]*)@)?([^/?#:]*)(:([^/?#]*))?))?([^?#]*)(\\?([^#]*))?(#(.*))?", uri);
+       path, _query, query, _fragment, fragment)
+    = regex-search-strings($uri-regex, uri);
   // inside generic method to save code duplication
   if (class == <url> & query)
-    query := regex-replace(query, "\\+", " ");
+    query := regex-replace("\\+", query, " ");
   end if;
   let (scheme, userinfo, host, path, query, fragment)
     = apply(values, map(method (slot)
@@ -76,9 +80,13 @@
 			    slot 
 			  end if;
 			end,
-      list(scheme, userinfo, host, path, query, fragment)));
-  let uri = make(class, scheme: scheme | "", userinfo: userinfo | "", host: host | "", 
-    port: port & string-to-integer(port), fragment: fragment | "");
+                        list(scheme, userinfo, host, path, query, fragment)));
+  let uri = make(class,
+                 scheme: scheme | "",
+                 userinfo: userinfo | "",
+                 host: host | "", 
+                 port: port & string-to-integer(port),
+                 fragment: fragment | "");
   if (~empty?(path))
     uri.uri-path := split-path(path);
   end if;



More information about the chatter mailing list