Fix mis-parsing of local file:/// IRIs.
authormo@ilaven.net <mo@ilaven.net@68b1170a-6346-0410-b79c-01ab32b2924b>
Thu, 11 Dec 2008 00:32:00 +0000 (00:32 +0000)
committermo@ilaven.net <mo@ilaven.net@68b1170a-6346-0410-b79c-01ab32b2924b>
Thu, 11 Dec 2008 00:32:00 +0000 (00:32 +0000)
git-svn-id: http://libiri.googlecode.com/svn/trunk@7 68b1170a-6346-0410-b79c-01ab32b2924b

libiri/parse.c

index 368e841..2213afd 100644 (file)
@@ -146,12 +146,13 @@ iri_parse(const char *src)
                bufp++;
                src++;
                /* src[0-1] SHOULD == '/' */
-               for(; *src == '/'; src++);
+               if(src[0] == '/') src++;
+               if(src[0] == '/') src++;
        }
        else if(colon && at && colon < at)
        {
                /* This could be scheme://user[;auth][:password]@host or [scheme:]user[;auth][:password]@host (urgh) */
-               if(colon[1] == '/')
+               if(colon[1] == '/' && colon[2] != '/')
                {
                        p->iri.scheme = bufp;
                        while(*src && *src != ':')