|
|
@ -90,6 +90,8 @@ static void trim_double_dot_url(char *buf, const char *rel, int size) |
|
|
|
if (p && (sep = strstr(p, "://"))) { |
|
|
|
if (p && (sep = strstr(p, "://"))) { |
|
|
|
sep += 3; |
|
|
|
sep += 3; |
|
|
|
root = strchr(sep, '/'); |
|
|
|
root = strchr(sep, '/'); |
|
|
|
|
|
|
|
if (!root) |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* set new current position if the root node is changed */ |
|
|
|
/* set new current position if the root node is changed */ |
|
|
@ -150,6 +152,7 @@ void ff_make_absolute_url(char *buf, int size, const char *base, |
|
|
|
} |
|
|
|
} |
|
|
|
/* If rel actually is an absolute url, just copy it */ |
|
|
|
/* If rel actually is an absolute url, just copy it */ |
|
|
|
if (!base || strstr(rel, "://") || rel[0] == '/') { |
|
|
|
if (!base || strstr(rel, "://") || rel[0] == '/') { |
|
|
|
|
|
|
|
memset(buf, 0, size); |
|
|
|
trim_double_dot_url(buf, rel, size); |
|
|
|
trim_double_dot_url(buf, rel, size); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -177,6 +180,8 @@ void ff_make_absolute_url(char *buf, int size, const char *base, |
|
|
|
if (sep) { |
|
|
|
if (sep) { |
|
|
|
sep += 3; |
|
|
|
sep += 3; |
|
|
|
root = strchr(sep, '/'); |
|
|
|
root = strchr(sep, '/'); |
|
|
|
|
|
|
|
if (!root) |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|