The return size calculation's of GetEnvironmentVariable string was wrong. Thx to <Bizzy_D> to find out cd %windir% did not work. Now it will Modified: trunk/reactos/lib/kernel32/misc/env.c _____
Modified: trunk/reactos/lib/kernel32/misc/env.c --- trunk/reactos/lib/kernel32/misc/env.c 2005-07-10 22:05:48 UTC (rev 16527) +++ trunk/reactos/lib/kernel32/misc/env.c 2005-07-10 22:12:07 UTC (rev 16528) @@ -70,7 +70,7 @@
SetLastErrorByStatus (Status); if (Status == STATUS_BUFFER_TOO_SMALL) { - return VarValueU.Length / sizeof(WCHAR) + 1; + return VarValueU.Length / sizeof(WCHAR) + sizeof(WCHAR); } else { @@ -91,7 +91,7 @@ /* free unicode variable name string */ RtlFreeUnicodeString (&VarNameU);
- return (VarValueU.Length / sizeof(WCHAR)); + return (VarValueU.Length / sizeof(WCHAR) + sizeof(WCHAR)); }
@@ -125,7 +125,7 @@ SetLastErrorByStatus (Status); if (Status == STATUS_BUFFER_TOO_SMALL) { - return (VarValue.Length / sizeof(WCHAR)) + 1; + return (VarValue.Length / sizeof(WCHAR)) + sizeof(WCHAR); } else { @@ -133,7 +133,7 @@ } }
- return (VarValue.Length / sizeof(WCHAR)); + return (VarValue.Length / sizeof(WCHAR) + sizeof(WCHAR)); }