st = parse_prefix_question;
p ++;
}
- else {
+ else if (t != '/') {
c = p;
st = parse_user;
}
+ else {
+ /* Skip multiple slashes */
+ p ++;
+ }
break;
case parse_prefix_question:
if (t == 't') {
p ++;
break;
case parse_slash_slash:
- c = p;
- st = parse_domain;
- slash = p;
- if (*p == '[') {
- st = parse_ipv6;
- p ++;
+ if (t != '/') {
c = p;
+ st = parse_domain;
+ slash = p;
+
+ if (*p == '[') {
+ st = parse_ipv6;
+ p ++;
+ c = p;
+ }
+ }
+ else {
+ /* Skip multiple slashes */
+ p ++;
}
break;
case parse_ipv6: