mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 04:20:46 +00:00

- include/funcs.h: declared GetScrollBarInfo - include/napi/teb.h: removed misleading comment about NtCurrentTeb; preparing TEB for Windows 2003-compatible FLS support - include/tchar.h: added _tcslen - include/tgetopt.h: type-generic getopt (see lib/tgetopt) - include/win32k/ntuser.h, subsys/win32k/ntuser/window.c, subsys/win32k/ntuser/timer.c, lib/user32/misc/timer.c, lib/user32/windows/paint.c: corrected declarations of NtUserSetTimer, NtUserKillTimer and NtUserRedrawWindow (Win32K doesn't follow the NT calling convention) - lib/crtdll/crtdll.def: exported ::operator new and ::operator delete - lib/kernel32/thread/fls.c: FLS support almost done - lib/ntdll/*: implemented _chkstk/_alloca_probe - some more Visual C++ programs should run now; exported NtCurrentTeb for compatibility with Windows NT 3.51 and some non-i386 architectures; removed the CRT from the linker libraries - lib/string/*: type-generic string functions (single, shared implementation for single-byte and Unicode variants using _t macros); corrected a bug in the i386 wcsncmp; merged strspn/strcspn; corrected non-portable code in strspn/strcspn; implemented strnlen/tcsnlen for the i386 architecture; all changes were regression-tested and compared against the Microsoft CRT - tools/helper.mk: libraries, dlls and drivers now depend from their DEF/EDF files svn path=/trunk/; revision=5010
30 lines
354 B
C
30 lines
354 B
C
/* $Id: tcsnlen.h,v 1.1 2003/07/06 23:04:19 hyperion Exp $
|
|
*/
|
|
|
|
#include "tchar.h"
|
|
|
|
.globl _tcsnlen
|
|
|
|
_tcsnlen:
|
|
push %edi
|
|
mov 0x8(%esp), %edi
|
|
mov 0xC(%esp), %ecx
|
|
xor %eax, %eax
|
|
test %ecx, %ecx
|
|
jz .L1
|
|
mov %ecx, %edx
|
|
|
|
cld
|
|
|
|
repne _tscas
|
|
|
|
sete %al
|
|
sub %ecx, %edx
|
|
sub %eax, %edx
|
|
mov %edx, %eax
|
|
|
|
.L1:
|
|
pop %edi
|
|
ret
|
|
|
|
/* EOF */
|