CMM: utf8_strlen() optimization
git-svn-id: svn://kolibrios.org@5713 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
9516fbc07d
commit
fd987781a3
@ -15,7 +15,7 @@ struct UrlsHistory {
|
||||
void AddUrl();
|
||||
byte GoBack();
|
||||
byte GoForward();
|
||||
};
|
||||
} BrowserHistory;
|
||||
|
||||
dword UrlsHistory::CurrentUrl() {
|
||||
return #history_list[current].Item;
|
||||
@ -63,5 +63,3 @@ byte UrlsHistory::GoForward() {
|
||||
strlcpy(#URL, #history_list[current].Item, sizeof(URL));
|
||||
return 1;
|
||||
}
|
||||
|
||||
UrlsHistory BrowserHistory;
|
@ -403,6 +403,15 @@ void Scan(dword id__)
|
||||
OpenPage();
|
||||
return;
|
||||
|
||||
case REFRESH:
|
||||
if (http_transfer > 0)
|
||||
{
|
||||
StopLoading();
|
||||
Draw_Window();
|
||||
}
|
||||
else OpenPage();
|
||||
return;
|
||||
|
||||
/*
|
||||
case 011: //Ctrk+K
|
||||
BufEncode(CH_KOI8);
|
||||
@ -451,14 +460,7 @@ void Scan(dword id__)
|
||||
return;
|
||||
case 054: //F5
|
||||
IF(address_box.flags & 0b10) return;
|
||||
case REFRESH:
|
||||
if (http_transfer > 0)
|
||||
{
|
||||
StopLoading();
|
||||
Draw_Window();
|
||||
}
|
||||
else OpenPage();
|
||||
return;
|
||||
|
||||
case 020:
|
||||
case NEWTAB:
|
||||
MoveSize(190,80,OLD,OLD);
|
||||
|
@ -11,6 +11,7 @@
|
||||
// strpbrk(dword text1,text2) --- example: strpbrk("this test", " ckfi") -> return "is test"
|
||||
// strcmp( ESI, EDI)
|
||||
// strlen( EDI)
|
||||
// utf8_strlen( ESI)
|
||||
// strcpy( EDI, ESI) --- 0 if ==
|
||||
// strncpy(dword text1,text2,signed length)
|
||||
// strcat( EDI, ESI)
|
||||
@ -140,6 +141,22 @@ inline strnlen(dword str, dword maxlen)
|
||||
return cp - str;
|
||||
}
|
||||
|
||||
inline fastcall unsigned int utf8_strlen( ESI)
|
||||
{
|
||||
$xor ecx, ecx
|
||||
_loop:
|
||||
$lodsb
|
||||
$test al, al
|
||||
$jz _done
|
||||
$and al, 0xc0
|
||||
$cmp al, 0x80
|
||||
$jz _loop
|
||||
$inc ecx
|
||||
$jmp _loop
|
||||
|
||||
_done:
|
||||
return ECX;
|
||||
}
|
||||
|
||||
inline signed int strcmp(dword text1, text2)
|
||||
{
|
||||
@ -916,27 +933,6 @@ inline void debugi(dword d_int)
|
||||
}
|
||||
|
||||
|
||||
inline fastcall unsigned int utf8_strlen( ESI)
|
||||
{
|
||||
$xor ecx, ecx
|
||||
_loop:
|
||||
$lodsb
|
||||
$test al, al
|
||||
$jz _done
|
||||
$test al, 0x80
|
||||
$jz _1
|
||||
$and al, 0xc0
|
||||
$cmp al, 0x80
|
||||
$jz _loop
|
||||
_1:
|
||||
$inc ecx
|
||||
$jmp _loop
|
||||
|
||||
_done:
|
||||
return ECX;
|
||||
}
|
||||
|
||||
|
||||
#define strnmov strmovn
|
||||
#define stricmp strcmpi
|
||||
#define strcmpn strncmp
|
||||
|
Loading…
Reference in New Issue
Block a user