forked from KolibriOS/kolibrios
873fc290d5
1. possibility to open HTTPS sites via gate.aspero.pro (invisible for user), not working for files 2. rewrite parse tag function to fix broken URLs on page in some cases ("/user" instead of "/user/") 3. fix hand cursor appearance, fix progress bar on page load 4. load homepage on submitting empty url in adressbox 5. F12 - debug on, F11 - old tag parser on 6. unify page/file downloading code git-svn-id: svn://kolibrios.org@7282 a494cfbc-eb01-0410-851d-a64ba20cac60
61 lines
1.1 KiB
C
61 lines
1.1 KiB
C
|
|
void GetAbsoluteURL(dword in_URL)
|
|
{
|
|
int i;
|
|
dword orig_URL = in_URL;
|
|
char newurl[sizeof(URL)];
|
|
|
|
while (i=strstr(in_URL, "&"))
|
|
{
|
|
strcpy(i+1, i+5);
|
|
}
|
|
|
|
if (check_is_the_url_absolute(in_URL)) return;
|
|
|
|
IF (!strcmpn(in_URL,"//", 2))
|
|
{
|
|
//strcpy(#newurl, "http:");
|
|
//strcat(#newurl, in_URL);
|
|
sprintf(#newurl, "http:%s", in_URL);
|
|
strcpy(orig_URL, #newurl);
|
|
return;
|
|
}
|
|
|
|
IF (!strcmpn(in_URL,"./", 2)) in_URL+=2;
|
|
if (!http.transfer)
|
|
{
|
|
strcpy(#newurl, history.current());
|
|
}
|
|
else
|
|
{
|
|
strcpy(#newurl, history.items.get(history.active-2));
|
|
}
|
|
|
|
if (ESBYTE[in_URL] == '/') //remove everything after site domain name
|
|
{
|
|
i = strchr(#newurl+8, '/');
|
|
if (i) ESBYTE[i]=0;
|
|
in_URL+=1;
|
|
}
|
|
|
|
_CUT_ST_LEVEL_MARK:
|
|
|
|
if (newurl[strrchr(#newurl, '/')-2]<>'/')
|
|
{
|
|
newurl[strrchr(#newurl, '/')] = 0x00;
|
|
}
|
|
|
|
IF (!strncmp(in_URL,"../",3))
|
|
{
|
|
in_URL+=3;
|
|
newurl[strrchr(#newurl, '/')-1] = 0x00;
|
|
goto _CUT_ST_LEVEL_MARK;
|
|
}
|
|
|
|
if (newurl[strlen(#newurl)-1]<>'/') strcat(#newurl, "/");
|
|
|
|
strcat(#newurl, in_URL);
|
|
strcpy(orig_URL, #newurl);
|
|
}
|
|
|