Changeset: 556ed49e2bdc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=556ed49e2bdc
Modified Files:
        monetdb5/modules/atoms/url.c
        sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
Branch: Jan2014
Log Message:

Fix some url manipulation functions.
Don't include queries or tags in domain names.


diffs (72 lines):

diff --git a/monetdb5/modules/atoms/url.c b/monetdb5/modules/atoms/url.c
--- a/monetdb5/modules/atoms/url.c
+++ b/monetdb5/modules/atoms/url.c
@@ -229,11 +229,9 @@ URLgetDomain(str *retval, str *u)
        t++;
        b = buf;
        d = 0;
-       for (; *t && *t != '/'; t++) {
+       for (; *t && *t != '/' && *t != ':' && *t != '?' && *t != '#'; t++) {
                if (*t == '.')
                        d = b;
-               if (*t == ':')
-                       break;
                *b++ = *t;
                if (i++ == 1023)
                        throw(PARSE, "url.getDomain", "server name too long\n");
@@ -319,7 +317,7 @@ url_getHost(str *retval, url t)
        t++;
        b = buf;
        s = buf;
-       for (; *t && *t != '/'; t++) {
+       for (; *t && *t != '/' && *t != ':' && *t != '?' && *t != '#'; t++) {
                *b++ = *t;
                if (i++ == 1023)
                        throw(PARSE, "url.getHost", "server name too long");
@@ -487,7 +485,7 @@ url_getRobotURL(str *retval, /* put stri
        if (*t != '/')
                goto getRobot_done;
        *b++ = *t++;
-       for (; *t && *t != '/'; t++) {
+       for (; *t && *t && *t != '/' && *t != '?' && *t != '#'; t++) {
                *b++ = *t;
                if (i++ == 1000)
                        throw(PARSE, "url.getRobotURL", "server name too long");
diff --git a/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out 
b/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
--- a/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
+++ b/sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
@@ -79,9 +79,9 @@ Ready.
 % sys.L # table_name
 % getdomain_u # name
 % clob # type
-% 7 # length
+% 3 # length
 [ "nl" ]
-[ "com?x=2"    ]
+[ "com"        ]
 [ "org"        ]
 #select getExtension(u) from t2972;
 % sys.L # table_name
@@ -103,10 +103,10 @@ Ready.
 % sys.L # table_name
 % gethost_u # name
 % clob # type
-% 20 # length
+% 15 # length
 [ "www.cwi.nl" ]
-[ "www.monetdb.com?x=2"        ]
-[ "www.monetdb.org:8080"       ]
+[ "www.monetdb.com"    ]
+[ "www.monetdb.org"    ]
 #select getPort(u) from t2972;
 % sys.L # table_name
 % getport_u # name
@@ -137,7 +137,7 @@ Ready.
 % clob # type
 % 38 # length
 [ "http://www.cwi.nl/robots.txt";       ]
-[ "http://www.monetdb.com?x=2/robots.txt";      ]
+[ "http://www.monetdb.com/robots.txt";  ]
 [ "http://www.monetdb.org:8080/robots.txt";     ]
 #select isaURL(u) from t2972;
 % sys.L # table_name
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to