mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 05:25:48 +00:00
[SHELL/EXPERIMENTS]
* Create a branch for some evul shell experiments. svn path=/branches/shell-experiments/; revision=61927
This commit is contained in:
parent
d09f611410
commit
527f2f9057
20177 changed files with 0 additions and 1312061 deletions
38
lib/sdk/crt/string/wtol.c
Normal file
38
lib/sdk/crt/string/wtol.c
Normal file
|
@ -0,0 +1,38 @@
|
|||
#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;
|
||||
}
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue