mirror of
https://github.com/reactos/reactos.git
synced 2024-10-31 03:48:17 +00:00
39 lines
656 B
C
39 lines
656 B
C
#include <string.h>
|
|
#include <ctype.h>
|
|
#include <basetsd.h>
|
|
|
|
/* Implementation comes from wine/dlls/ntdll/wcstring.c */
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
long
|
|
_wtol(const wchar_t *str)
|
|
{
|
|
unsigned long RunningTotal = 0;
|
|
char bMinus = 0;
|
|
|
|
if (str == NULL)
|
|
return 0;
|
|
|
|
while (iswctype(*str, _SPACE) ) {
|
|
str++;
|
|
} /* while */
|
|
|
|
if (*str == L'+') {
|
|
str++;
|
|
} else if (*str == L'-') {
|
|
bMinus = 1;
|
|
str++;
|
|
} /* if */
|
|
|
|
while (*str >= L'0' && *str <= L'9') {
|
|
RunningTotal = RunningTotal * 10 + *str - L'0';
|
|
str++;
|
|
} /* while */
|
|
|
|
return bMinus ? 0-RunningTotal : RunningTotal;
|
|
}
|
|
|
|
|