Fixed the base detection in RtlUnicodeStringToInteger again. Modified: trunk/reactos/lib/rtl/unicode.c _____
Modified: trunk/reactos/lib/rtl/unicode.c --- trunk/reactos/lib/rtl/unicode.c 2005-08-10 17:48:13 UTC (rev 17260) +++ trunk/reactos/lib/rtl/unicode.c 2005-08-10 17:49:57 UTC (rev 17261) @@ -876,7 +876,7 @@
USHORT CharsRemaining = str->Length / sizeof(WCHAR); WCHAR wchCurrent; int digit; - ULONG newbase = 10; + ULONG newbase = 0; ULONG RunningTotal = 0; char bMinus = 0;
@@ -911,9 +911,11 @@ newbase = 16; } /* if */ } - if (base == 0) { + if (base == 0 && newbase == 0) { + base = 10; + } else if (base == 0 && newbase != 0) { base = newbase; - } else if ((base != newbase) || + } else if ((newbase != 0 && base != newbase) || (base != 2 && base != 8 && base != 10 && base != 16)) { return STATUS_INVALID_PARAMETER;