reactos/lib/sdk/crt/string/wtol.c
Amine Khaldi 527f2f9057 [SHELL/EXPERIMENTS]
* Create a branch for some evul shell experiments.

svn path=/branches/shell-experiments/; revision=61927
2014-02-02 19:37:27 +00:00

38 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;
}