Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1407 → Rev 1408

/drivers/ddk/string/_strnlen.S
0,0 → 1,30
# _strnlen() Author: Kees J. Bot 1 Jan 1994
 
# size_t _strnlen(const char *s, size_t ecx)
# Return the length of a string.
 
.intel_syntax
 
.globl __strnlen
 
.text
.align 16
__strnlen:
push ebp
mov ebp, esp
push edi
mov edi, [ebp+8] # edi = string
xorb al, al # Look for a zero byte
mov edx, ecx # Save maximum count
cmpb cl, 1 # 'Z' bit must be clear if ecx = 0
cld
repne
scasb # Look for zero
jne no0
inc ecx # Don't count zero byte
no0:
mov eax, edx
sub eax, ecx # Compute bytes scanned
pop edi
pop ebp
ret