X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=env.cpp;h=a1ca9004e29274ed5e4ed4d16df7f121259de724;hb=1ca188026d2d0b9a379cc1588eee314ca96528ab;hp=083f46a3d2566e771feb025bda1c6e4978ff5bad;hpb=fb96938cf944edf3bc0dfd99dbff416b0397df4f;p=nssm.git diff --git a/env.cpp b/env.cpp index 083f46a..a1ca900 100644 --- 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; +}