A Multi-Column Listbox
View Ticket
Not logged in
Ticket UUID: 957919
Title: uri::split fails on "http://a.b.c/idx?path=/idx"
Type: Bug Version: None
Submitter: svogel Created on: 2004-05-21 10:02:14
Subsystem: uri Assigned To: andreas_kupries
Priority: 5 Medium Severity:
Status: Deleted Last Modified: 2013-07-04 17:49:27
Resolution: Not Applicable Here Closed By:
    Closed on:
Description:
uri::split "http://a.b.c/idx?path=/idx"
results in
path: "idx?path=/idx"
query: ""

I think the "/" in the query confuses the regexp 
in "SplitHttp"

Fixing:
variable charN {[a-zA-Z0-9$_.+!*'(,)?:@&=-]}
to:
variable charN {[a-zA-Z0-9$_.+!*'(,)?:@/&=-]}
(Note the "/")
results in the correct result.

I'm not quite sure if this does affect other functions?

I ran the "uri.test" but got 12 failures (before and after 
my change!).

I'm using uri 1.1.3 (with tcl 8.4.5 on WindowsXP).
User Comments: thomasmaeder added on 2005-12-08 19:58:32:
Logged In: YES 
user_id=714202

Another failure is http://host/path1/path2?param=value#fragment :

% uri::split "http://host/path1/path2?param=value#fragment"
fragment fragment port {} path path1/path2?param=value scheme http host host query {}

instead of

fragment fragment port {} path path1/path2 scheme http host host query param=value


The obvious solution would be to use a variation of the regular expression given in Appendix B of http://www.ietf.org/rfc/rfc2396.txt (the variation being directly splitting host and port).