Fix compilation on VS2015.
authorIain Patterson <me@iain.cx>
Tue, 23 Feb 2016 13:41:28 +0000 (13:41 +0000)
committerIain Patterson <me@iain.cx>
Tue, 23 Feb 2016 13:41:28 +0000 (13:41 +0000)
Paul Baxter and Mathias Breiner independently reported fixes to get the
project to compile on Visual Studio 2015.

README.txt
gui.cpp
service.cpp
settings.cpp

index 02306e5..6fb7d9a 100644 (file)
@@ -880,6 +880,7 @@ Thanks to Gerald Haider for noticing that installing a service with NSSM in a
 path containing spaces was technically a security vulnerability.\r
 Thanks to Scott Ware for reporting a crash saving the environment on XP 32-bit.\r
 Thanks to Stefan and Michael Scherer for reporting a bug writing the event messages source.\r
+Thanks to Paul Baxter and Mathias Breiner for help with Visual Studio 2015.\r
 \r
 Licence\r
 -------\r
diff --git a/gui.cpp b/gui.cpp
index f47be58..a0dfaa2 100644 (file)
--- a/gui.cpp
+++ b/gui.cpp
@@ -1,6 +1,6 @@
 #include "nssm.h"\r
 \r
-static enum { NSSM_TAB_APPLICATION, NSSM_TAB_DETAILS, NSSM_TAB_LOGON, NSSM_TAB_DEPENDENCIES, NSSM_TAB_PROCESS, NSSM_TAB_SHUTDOWN, NSSM_TAB_EXIT, NSSM_TAB_IO, NSSM_TAB_ROTATION, NSSM_TAB_ENVIRONMENT, NSSM_TAB_HOOKS, NSSM_NUM_TABS };\r
+static enum { NSSM_TAB_APPLICATION, NSSM_TAB_DETAILS, NSSM_TAB_LOGON, NSSM_TAB_DEPENDENCIES, NSSM_TAB_PROCESS, NSSM_TAB_SHUTDOWN, NSSM_TAB_EXIT, NSSM_TAB_IO, NSSM_TAB_ROTATION, NSSM_TAB_ENVIRONMENT, NSSM_TAB_HOOKS, NSSM_NUM_TABS } nssm_tabs;\r
 static HWND tablist[NSSM_NUM_TABS];\r
 static const TCHAR *hook_event_strings[] = { NSSM_HOOK_EVENT_START, NSSM_HOOK_EVENT_STOP, NSSM_HOOK_EVENT_EXIT, NSSM_HOOK_EVENT_POWER, NSSM_HOOK_EVENT_ROTATE, NULL };\r
 static const TCHAR *hook_action_strings[] = { NSSM_HOOK_ACTION_PRE, NSSM_HOOK_ACTION_POST, NSSM_HOOK_ACTION_CHANGE, NSSM_HOOK_ACTION_RESUME, NULL };\r
index b24eae2..d864fa2 100644 (file)
@@ -240,7 +240,7 @@ int affinity_string_to_mask(TCHAR *string, __int64 *mask) {
   return 0;\r
 }\r
 \r
-inline unsigned long priority_mask() {\r
+unsigned long priority_mask() {\r
  return REALTIME_PRIORITY_CLASS | HIGH_PRIORITY_CLASS | ABOVE_NORMAL_PRIORITY_CLASS | NORMAL_PRIORITY_CLASS | BELOW_NORMAL_PRIORITY_CLASS | IDLE_PRIORITY_CLASS;\r
 }\r
 \r
index cbded45..4bbdd57 100644 (file)
@@ -52,7 +52,7 @@ static int setting_set_number(const TCHAR *service_name, void *param, const TCHA
   }
   if (str_number(value->string, &number)) return -1;
 
-  if (default_value && number == (unsigned long) default_value) {
+  if (default_value && number == PtrToUlong(default_value)) {
     error = RegDeleteValue(key, name);
     if (error == ERROR_SUCCESS || error == ERROR_FILE_NOT_FOUND) return 0;
     print_message(stderr, NSSM_MESSAGE_REGDELETEVALUE_FAILED, name, service_name, error_string(error));
@@ -1058,7 +1058,7 @@ int get_setting(const TCHAR *service_name, HKEY key, settings_t *setting, value_
       break;
 
     case REG_DWORD:
-      value->numeric = (unsigned long) setting->default_value;
+      value->numeric = PtrToUlong(setting->default_value);
       if (setting->get) ret = setting->get(service_name, (void *) key, setting->name, setting->default_value, value, additional);
       else ret = -1;
       break;