Fix SmpSetEnvironmentVariable return status
[reactos.git] / reactos / base / system / smss / initenv.c
index 28c4160..7df3284 100644 (file)
@@ -1,9 +1,8 @@
-/* $Id$
- *
+/*
  * initenv.c - Environment initialization
- * 
+ *
  * ReactOS Operating System
- * 
+ *
  * --------------------------------------------------------------------
  *
  * This software is free software; you can redistribute it and/or
@@ -19,7 +18,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this software; see the file COPYING.LIB. If not, write
  * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- * MA 02139, USA.  
+ * MA 02139, USA.
  *
  * --------------------------------------------------------------------
  */
@@ -36,94 +35,91 @@ PWSTR SmSystemEnvironment = NULL;
 
 /* FUNCTIONS */
 
-NTSTATUS 
+NTSTATUS
 SmCreateEnvironment(VOID)
 {
-  return RtlCreateEnvironment(FALSE, &SmSystemEnvironment);
+    return RtlCreateEnvironment(FALSE, &SmSystemEnvironment);
 }
 
 
 static NTSTATUS
-SmpSetEnvironmentVariable(PVOID Context,
-                         PWSTR ValueName,
-                         PVOID ValueData)
+SmpSetEnvironmentVariable(IN PVOID Context,
+                          IN PWSTR ValueName,
+                          IN PVOID ValueData)
 {
-  UNICODE_STRING EnvVariable;
-  UNICODE_STRING EnvValue;
-
-  RtlInitUnicodeString(&EnvVariable,
-                      ValueName);
-  RtlInitUnicodeString(&EnvValue,
-                      (PWSTR)ValueData);
-  RtlSetEnvironmentVariable(Context,
-                           &EnvVariable,
-                           &EnvValue);
-
-  return(STATUS_SUCCESS);
+    UNICODE_STRING EnvVariable;
+    UNICODE_STRING EnvValue;
+
+    RtlInitUnicodeString(&EnvVariable,
+                         ValueName);
+    RtlInitUnicodeString(&EnvValue,
+                         (PWSTR)ValueData);
+    return RtlSetEnvironmentVariable(Context,
+                              &EnvVariable,
+                              &EnvValue);
 }
 
 
 static NTSTATUS STDCALL
-SmpEnvironmentQueryRoutine(PWSTR ValueName,
-                         ULONG ValueType,
-                         PVOID ValueData,
-                         ULONG ValueLength,
-                         PVOID Context,
-                         PVOID EntryContext)
+SmpEnvironmentQueryRoutine(IN PWSTR ValueName,
+                           IN ULONG ValueType,
+                           IN PVOID ValueData,
+                           IN ULONG ValueLength,
+                           IN PVOID Context,
+                           IN PVOID EntryContext)
 {
-  DPRINT("ValueName '%S'  Type %lu  Length %lu\n", ValueName, ValueType, ValueLength);
-  DPRINT("ValueData '%S'\n", (PWSTR)ValueData);
-
-  if (ValueType != REG_SZ)
-    {
-      return(STATUS_SUCCESS);
-    }
-  return SmpSetEnvironmentVariable(Context,ValueName,ValueData);
+    DPRINT("ValueName '%S'  Type %lu  Length %lu\n", ValueName, ValueType, ValueLength);
+
+    if (ValueType != REG_SZ && ValueType != REG_EXPAND_SZ)
+        return STATUS_SUCCESS;
+
+    DPRINT("ValueData '%S'\n", (PWSTR)ValueData);
+    return SmpSetEnvironmentVariable(Context,ValueName,ValueData);
 }
 
 
 NTSTATUS
 SmSetEnvironmentVariables(VOID)
 {
-  RTL_QUERY_REGISTRY_TABLE QueryTable[2];
-  WCHAR ValueBuffer[MAX_PATH];
-  NTSTATUS Status;
+    RTL_QUERY_REGISTRY_TABLE QueryTable[2];
+    WCHAR ValueBuffer[MAX_PATH];
+    NTSTATUS Status;
 
-  /*
-   * The following environment variables must be set prior to reading
-   * other variables from the registry.
-   *
-   * Variables (example):
-   *    SystemRoot = "C:\reactos"
-   *    SystemDrive = "C:"
-   */
+    /*
+     * The following environment variables must be set prior to reading
+     * other variables from the registry.
+     *
+     * Variables (example):
+     *    SystemRoot = "C:\reactos"
+     *    SystemDrive = "C:"
+     */
 
-  /* Copy system root into value buffer */
-  wcscpy(ValueBuffer,
-        SharedUserData->NtSystemRoot);
+    /* Copy system root into value buffer */
+    wcscpy(ValueBuffer,
+           SharedUserData->NtSystemRoot);
 
-  /* Set SystemRoot = "C:\reactos" */
-  SmpSetEnvironmentVariable(&SmSystemEnvironment,L"SystemRoot",ValueBuffer);
+    /* Set SystemRoot = "C:\reactos" */
+    SmpSetEnvironmentVariable(&SmSystemEnvironment, L"SystemRoot", ValueBuffer);
 
-  /* Cut off trailing path */
-  ValueBuffer[2] = 0;
+    /* Cut off trailing path */
+    ValueBuffer[2] = 0;
 
-  /* Set SystemDrive = "C:" */
-  SmpSetEnvironmentVariable(&SmSystemEnvironment,L"SystemDrive",ValueBuffer);
+    /* Set SystemDrive = "C:" */
+    SmpSetEnvironmentVariable(&SmSystemEnvironment, L"SystemDrive", ValueBuffer);
 
-  /* Read system environment from the registry. */
-  RtlZeroMemory(&QueryTable,
-               sizeof(QueryTable));
+    /* Read system environment from the registry. */
+    RtlZeroMemory(&QueryTable,
+                  sizeof(QueryTable));
 
-  QueryTable[0].QueryRoutine = SmpEnvironmentQueryRoutine;
+    QueryTable[0].QueryRoutine = SmpEnvironmentQueryRoutine;
 
-  Status = RtlQueryRegistryValues(RTL_REGISTRY_CONTROL,
-                                 L"\\Session Manager\\Environment",
-                                 QueryTable,
-                                 &SmSystemEnvironment,
-                                 SmSystemEnvironment);
+    Status = RtlQueryRegistryValues(RTL_REGISTRY_CONTROL,
+                                    L"Session Manager\\Environment",
+                                    QueryTable,
+                                    &SmSystemEnvironment,
+                                    SmSystemEnvironment);
 
-  return(Status);
+    return Status;
 }
 
 /**********************************************************************
@@ -132,8 +128,8 @@ SmSetEnvironmentVariables(VOID)
 NTSTATUS
 SmUpdateEnvironment(VOID)
 {
-       /* TODO */
-       return STATUS_SUCCESS;
+    /* TODO */
+    return STATUS_SUCCESS;
 }
 
 /* EOF */