EventMessageFile should be unquoted.
[nssm.git] / env.cpp
diff --git a/env.cpp b/env.cpp
index 9945d20..a1ca900 100644 (file)
--- a/env.cpp
+++ b/env.cpp
@@ -129,8 +129,7 @@ int duplicate_environment(TCHAR *rawenv) {
            -1 on error.
 */
 int test_environment(TCHAR *env) {
-  TCHAR path[PATH_LENGTH];
-  GetModuleFileName(0, path, _countof(path));
+  TCHAR *path = (TCHAR *) nssm_imagepath();
   STARTUPINFO si;
   ZeroMemory(&si, sizeof(si));
   si.cb = sizeof(si);
@@ -171,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;
+}