mirror of
https://github.com/reactos/reactos.git
synced 2024-07-08 21:55:08 +00:00
[KERNEL32]
- Fix SetCurrentDirectoryA to return success when setting the current directory again See issue #6874 for more details. svn path=/trunk/; revision=56490
This commit is contained in:
parent
1cb2379b98
commit
f6abb6c7ac
|
@ -1372,7 +1372,7 @@ SearchPathW(IN LPCWSTR lpPath,
|
|||
/* Create the string that describes the output buffer from the caller */
|
||||
CallerBuffer.Length = 0;
|
||||
CallerBuffer.Buffer = lpBuffer;
|
||||
|
||||
|
||||
/* How much space does the caller have? */
|
||||
if (nBufferLength <= UNICODE_STRING_MAX_CHARS)
|
||||
{
|
||||
|
@ -1407,7 +1407,7 @@ SearchPathW(IN LPCWSTR lpPath,
|
|||
Status);
|
||||
DbgPrint(" Path = %wZ\n", &PathString);
|
||||
}
|
||||
|
||||
|
||||
/* Check if the failure was due to a small buffer */
|
||||
if (Status == STATUS_BUFFER_TOO_SMALL)
|
||||
{
|
||||
|
@ -1425,7 +1425,7 @@ SearchPathW(IN LPCWSTR lpPath,
|
|||
{
|
||||
/* It worked! Write the file part now */
|
||||
if (lpFilePart) *lpFilePart = &lpBuffer[FilePartSize];
|
||||
|
||||
|
||||
/* Convert the final result length */
|
||||
Result = CallerBuffer.Length / sizeof(WCHAR);
|
||||
}
|
||||
|
@ -2205,7 +2205,7 @@ SetCurrentDirectoryA(IN LPCSTR lpPathName)
|
|||
DirName = Basep8BitStringToStaticUnicodeString(lpPathName);
|
||||
if (!DirName) return FALSE;
|
||||
|
||||
if (CheckForSameCurdir(DirName)) return FALSE;
|
||||
if (CheckForSameCurdir(DirName)) return TRUE;
|
||||
|
||||
Status = RtlSetCurrentDirectory_U(DirName);
|
||||
if (NT_SUCCESS(Status)) return TRUE;
|
||||
|
|
Loading…
Reference in a new issue