Fix crash on Windows XP.
[nssm.git] / env.cpp
diff --git a/env.cpp b/env.cpp
index 083f46a..a1ca900 100644 (file)
--- a/env.cpp
+++ b/env.cpp
@@ -170,3 +170,12 @@ void duplicate_environment_strings(TCHAR *env) {
   duplicate_environment(newenv);
   HeapFree(GetProcessHeap(), 0, newenv);
 }
+
+/* Safely get a copy of the current environment. */
+TCHAR *copy_environment() {
+  TCHAR *rawenv = GetEnvironmentStrings();
+  if (! rawenv) return NULL;
+  TCHAR *env = copy_environment_block(rawenv);
+  FreeEnvironmentStrings(rawenv);
+  return env;
+}