Not an error if no hook found in the registry.
[nssm.git] / registry.cpp
index e3817a4..86eaaf5 100644 (file)
@@ -822,8 +822,15 @@ int get_hook(const TCHAR *service_name, const TCHAR *hook_event, const TCHAR *ho
     log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, _T("hook registry"), _T("get_hook()"), 0);\r
     return 1;\r
   }\r
-  HKEY key = open_registry(service_name, registry, KEY_READ, false);\r
-  if (! key) return 1;\r
+  HKEY key;\r
+  long error = open_registry(service_name, registry, KEY_READ, &key, false);\r
+  if (! key) {\r
+    if (error == ERROR_FILE_NOT_FOUND) {\r
+      ZeroMemory(buffer, buflen);\r
+      return 0;\r
+    }\r
+    return 1;\r
+  }\r
 \r
   int ret = expand_parameter(key, (TCHAR *) hook_action, buffer, buflen, true, false);\r
 \r