Author: hbelusca Date: Tue May 30 00:15:54 2017 New Revision: 74698
URL: http://svn.reactos.org/svn/reactos?rev=74698&view=rev Log: [USETUP]: Minor fixes & simplifications: - Remove a redundant NtClose call; - Return failure if NtQuerySymbolicLinkObject fails; - Use RTL_CONSTANT_STRING and RtlInitEmptyUnicodeString where needed; - Reduce code indent level; - Add old-style function annotations; - Remove the deprecated code copyright notice, since the copyright in usage is already reported in the COPYING file in the top level ReactOS source code directory.
Modified: branches/setup_improvements/base/setup/usetup/drivesup.c branches/setup_improvements/base/setup/usetup/drivesup.h
Modified: branches/setup_improvements/base/setup/usetup/drivesup.c URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/us... ============================================================================== --- branches/setup_improvements/base/setup/usetup/drivesup.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/drivesup.c [iso-8859-1] Tue May 30 00:15:54 2017 @@ -1,21 +1,3 @@ -/* - * ReactOS kernel - * Copyright (C) 2002 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS text-mode setup @@ -35,21 +17,18 @@
NTSTATUS GetSourcePaths( - PUNICODE_STRING SourcePath, - PUNICODE_STRING SourceRootPath, - PUNICODE_STRING SourceRootDir) + OUT PUNICODE_STRING SourcePath, + OUT PUNICODE_STRING SourceRootPath, + OUT PUNICODE_STRING SourceRootDir) { + NTSTATUS Status; OBJECT_ATTRIBUTES ObjectAttributes; - UNICODE_STRING LinkName; + UNICODE_STRING LinkName = RTL_CONSTANT_STRING(L"\SystemRoot"); UNICODE_STRING SourceName; - WCHAR SourceBuffer[MAX_PATH] = {L'\0'}; + WCHAR SourceBuffer[MAX_PATH] = L""; HANDLE Handle; - NTSTATUS Status; ULONG Length; PWCHAR Ptr; - - RtlInitUnicodeString(&LinkName, - L"\SystemRoot");
InitializeObjectAttributes(&ObjectAttributes, &LinkName, @@ -63,35 +42,33 @@ if (!NT_SUCCESS(Status)) return Status;
- SourceName.Length = 0; - SourceName.MaximumLength = MAX_PATH * sizeof(WCHAR); - SourceName.Buffer = SourceBuffer; + RtlInitEmptyUnicodeString(&SourceName, SourceBuffer, sizeof(SourceBuffer));
Status = NtQuerySymbolicLinkObject(Handle, &SourceName, &Length); NtClose(Handle);
- if (NT_SUCCESS(Status)) + if (!NT_SUCCESS(Status)) + return Status; + + RtlCreateUnicodeString(SourcePath, + SourceName.Buffer); + + /* Strip trailing directory */ + Ptr = wcsrchr(SourceName.Buffer, OBJ_NAME_PATH_SEPARATOR); + if (Ptr) { - RtlCreateUnicodeString(SourcePath, - SourceName.Buffer); - - /* strip trailing directory */ - Ptr = wcsrchr(SourceName.Buffer, L'\'); - if (Ptr) - { - RtlCreateUnicodeString(SourceRootDir, Ptr); - *Ptr = 0; - } - else - RtlCreateUnicodeString(SourceRootDir, L""); - - RtlCreateUnicodeString(SourceRootPath, - SourceName.Buffer); + RtlCreateUnicodeString(SourceRootDir, Ptr); + *Ptr = UNICODE_NULL; + } + else + { + RtlCreateUnicodeString(SourceRootDir, L""); }
- NtClose(Handle); + RtlCreateUnicodeString(SourceRootPath, + SourceName.Buffer);
return STATUS_SUCCESS; }
Modified: branches/setup_improvements/base/setup/usetup/drivesup.h URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/us... ============================================================================== --- branches/setup_improvements/base/setup/usetup/drivesup.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/drivesup.h [iso-8859-1] Tue May 30 00:15:54 2017 @@ -1,21 +1,3 @@ -/* - * ReactOS kernel - * Copyright (C) 2002 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS text-mode setup @@ -28,8 +10,8 @@
NTSTATUS GetSourcePaths( - PUNICODE_STRING SourcePath, - PUNICODE_STRING SourceRootPath, - PUNICODE_STRING SourceRootDir); + OUT PUNICODE_STRING SourcePath, + OUT PUNICODE_STRING SourceRootPath, + OUT PUNICODE_STRING SourceRootDir);
/* EOF */