Copy environment block rather than setting extra variables.
[nssm.git] / io.cpp
diff --git a/io.cpp b/io.cpp
index 7dedce0..9dd21bf 100644 (file)
--- a/io.cpp
+++ b/io.cpp
@@ -61,6 +61,18 @@ int set_createfile_parameter(HKEY key, TCHAR *prefix, TCHAR *suffix, unsigned lo
   return set_number(key, value, number);\r
 }\r
 \r
+int delete_createfile_parameter(HKEY key, TCHAR *prefix, TCHAR *suffix) {\r
+  TCHAR value[NSSM_STDIO_LENGTH];\r
+\r
+  if (_sntprintf_s(value, _countof(value), _TRUNCATE, _T("%s%s"), prefix, suffix) < 0) {\r
+    log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, suffix, _T("delete_createfile_parameter()"), 0);\r
+    return 1;\r
+  }\r
+\r
+  if (RegDeleteValue(key, value)) return 0;\r
+  return 1;\r
+}\r
+\r
 HANDLE append_to_file(TCHAR *path, unsigned long sharing, SECURITY_ATTRIBUTES *attributes, unsigned long disposition, unsigned long flags) {\r
   HANDLE ret;\r
 \r