From f6aaf4294fe90bc69ace3da22e2535e90ed91497 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sat, 2 Jun 2012 21:50:26 +0000 Subject: [PATCH] htmlv: bug with history fixed git-svn-id: svn://kolibrios.org@2725 a494cfbc-eb01-0410-851d-a64ba20cac60 --- .../network/htmlv/browser/include/history.h | 4 +- programs/network/htmlv/lib/encoding.h-- | 33 ++++++++++ programs/network/htmlv/lib/kolibri.h-- | 47 ------------- programs/network/htmlv/lib/memory.h-- | 66 ------------------- 4 files changed, 35 insertions(+), 115 deletions(-) delete mode 100644 programs/network/htmlv/lib/memory.h-- diff --git a/programs/network/htmlv/browser/include/history.h b/programs/network/htmlv/browser/include/history.h index e5155aecd6..8fb1d87100 100644 --- a/programs/network/htmlv/browser/include/history.h +++ b/programs/network/htmlv/browser/include/history.h @@ -24,7 +24,7 @@ dword UrlsHistory::CurrentUrl() void UrlsHistory::AddUrl() //тут нужен вводимый элемент - для универсальности { if (history_num>0) && (strcmp(#URL,#history_list[history_current].Item)==0) return; - + if (history_current>=MAX_HISTORY_NUM-1) { history_current/=2; @@ -41,7 +41,7 @@ void UrlsHistory::AddUrl() // void UrlsHistory::GoBack() { - if (history_current<=2) return; + if (history_current<=1) return; history_current--; copystr(#history_list[history_current].Item,#URL); } diff --git a/programs/network/htmlv/lib/encoding.h-- b/programs/network/htmlv/lib/encoding.h-- index f149d0c71a..b5e7b2ad19 100644 --- a/programs/network/htmlv/lib/encoding.h-- +++ b/programs/network/htmlv/lib/encoding.h-- @@ -155,3 +155,36 @@ int utf8rutodos(dword ESI) //- } //------------------------------------------------------------------------------ + +dword Hex2Symb(char* htmlcolor) +{ + dword j=0, symbol=0; + char ch=0x00; + FOR (;j<2;j++) + { + ch=ESBYTE[htmlcolor+j]; + IF (ch==0x0d) || (ch=='\9') RETURN ''; + IF ((ch>='0') && (ch<='9')) ch -= '0'; + IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; + IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; + symbol = symbol*0x10 + ch; + } + wintodos(#symbol); + AL=symbol; +} + +/*int hex2char(char c) +{ + if (c <=9) + return (c+48); + + return (c - 10 + 'a'); +} + +int hex2char(dword c) +{ + if (c <=9) + return (c+48); + + return (c - 10 + 'a'); +}*/ diff --git a/programs/network/htmlv/lib/kolibri.h-- b/programs/network/htmlv/lib/kolibri.h-- index bcc117ed5c..3c80586e58 100644 --- a/programs/network/htmlv/lib/kolibri.h-- +++ b/programs/network/htmlv/lib/kolibri.h-- @@ -328,18 +328,6 @@ inline fastcall dword upcase(dword ESI) }while(AL!=0); } -/*inline fastcall void lowcase(ESI) -{ - do{ - $LODSB - IF(AL>='A')&&(AL<='Z'){ - AL+=0x20; - DSBYTE[ESI-1]=AL; - CONTINUE; - } - }while(AL!=0); -}*/ - inline fastcall lowcase(ESI) { do{ @@ -353,41 +341,6 @@ inline fastcall lowcase(ESI) } -dword Hex2Symb(char* htmlcolor) -{ - dword j=0, symbol=0; - char ch=0x00; - FOR (;j<2;j++) - { - ch=ESBYTE[htmlcolor+j]; - IF (ch==0x0d) || (ch=='\9') RETURN ''; - IF ((ch>='0') && (ch<='9')) ch -= '0'; - IF ((ch>='A') && (ch<='F')) ch -= 'A'-10; - IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; - symbol = symbol*0x10 + ch; - } - wintodos(#symbol); - AL=symbol; -} - -/*int hex2char(char c) -{ - if (c <=9) - return (c+48); - - return (c - 10 + 'a'); -} - -int hex2char(dword c) -{ - if (c <=9) - return (c+48); - - return (c - 10 + 'a'); -}*/ - - - void DefineAndDrawWindow(dword x,y,sizeX,sizeY,byte mainAreaType,dword mainAreaColour,byte headerType,dword headerColour,EDI) { EAX = 12; // function 12:tell os about windowdraw diff --git a/programs/network/htmlv/lib/memory.h-- b/programs/network/htmlv/lib/memory.h-- deleted file mode 100644 index 475017e565..0000000000 --- a/programs/network/htmlv/lib/memory.h-- +++ /dev/null @@ -1,66 +0,0 @@ -#code32 TRUE - -inline fastcall dword malloc(dword ECX){ - dword size, heap; - #speed - size = ECX; - EAX = 68; - EBX = 11; - $int 0x40; - heap = EAX; - IF (size<=heap) - { - EAX = 68; - EBX = 12; - ECX = size; - $int 0x40; - } - ELSE EAX=-1; - #codesize -} - -inline fastcall dword free(dword ECX){ - #speed - EAX = 68; - EBX = 13; - $int 0x40; - #codesize -} - -inline fastcall dword realloc(dword ECX, EDX){ - #speed - EAX = 68; - EBX = 20; - $int 0x40; - #codesize -} - -inline fastcall memmov( EDI, ESI, ECX) -{ - asm { - MOV EAX, ECX - CMP EDI, ESI - JG L1 - JE L2 - SAR ECX, 2 - JS L2 - REP MOVSD - MOV ECX, EAX - AND ECX, 3 - REP MOVSB - JMP SHORT L2 -L1: LEA ESI, DSDWORD[ ESI+ECX-4] - LEA EDI, DSDWORD[ EDI+ECX-4] - SAR ECX, 2 - JS L2 - STD - REP MOVSD - MOV ECX, EAX - AND ECX, 3 - ADD ESI, 3 - ADD EDI, 3 - REP MOVSB - CLD -L2: - } -}