/* * NTDLL string functions * * Copyright 2000 Alexandre Julliard */ #include "config.h" #include #include #include "windef.h" /********************************************************************* * _memicmp (NTDLL) */ INT __cdecl _memicmp( LPCSTR s1, LPCSTR s2, DWORD len ) { int ret = 0; while (len--) { if ((ret = tolower(*s1) - tolower(*s2))) break; s1++; s2++; } return ret; } /********************************************************************* * _strupr (NTDLL) */ LPSTR __cdecl _strupr( LPSTR str ) { LPSTR ret = str; for ( ; *str; str++) *str = toupper(*str); return ret; } /********************************************************************* * _strlwr (NTDLL) * * convert a string in place to lowercase */ LPSTR __cdecl _strlwr( LPSTR str ) { LPSTR ret = str; for ( ; *str; str++) *str = tolower(*str); return ret; } /********************************************************************* * _ultoa (NTDLL) */ LPSTR __cdecl _ultoa( unsigned long x, LPSTR buf, INT radix ) { char buffer[32], *p; p = buffer + sizeof(buffer); *--p = 0; do { int rem = x % radix; *--p = (rem <= 9) ? rem + '0' : rem + 'a' - 10; x /= radix; } while (x); strcpy( buf, p + 1 ); return buf; } /********************************************************************* * _ltoa (NTDLL) */ LPSTR __cdecl _ltoa( long x, LPSTR buf, INT radix ) { LPSTR p = buf; if (x < 0) { *p++ = '-'; x = -x; } _ultoa( x, p, radix ); return buf; } /********************************************************************* * _itoa (NTDLL) */ LPSTR __cdecl _itoa( int x, LPSTR buf, INT radix ) { return _ltoa( x, buf, radix ); }