\r
unsigned long constant;\r
switch (get_number(key, (TCHAR *) name, &constant, false)) {\r
- case 0: return value_from_string(name, value, (const TCHAR *) default_value);\r
+ case 0:\r
+ if (value_from_string(name, value, (const TCHAR *) default_value) == -1) return -1;\r
+ return 0;\r
case -1: return -1;\r
}\r
\r
}\r
\r
int native_set_environment(const TCHAR *service_name, void *param, const TCHAR *name, void *default_value, value_t *value, const TCHAR *additional) {\r
- HKEY key = open_service_registry(service_name, KEY_SET_VALUE, false);\r
+ HKEY key = open_service_registry(service_name, KEY_SET_VALUE, true);\r
if (! key) return -1;\r
\r
- int ret = setting_set_environment(service_name, (void *) key, NSSM_NATIVE_ENVIRONMENT, default_value, value, additional);\r
+ int ret = setting_set_environment(service_name, (void *) key, name, default_value, value, additional);\r
RegCloseKey(key);\r
return ret;\r
}\r
\r
int native_get_environment(const TCHAR *service_name, void *param, const TCHAR *name, void *default_value, value_t *value, const TCHAR *additional) {\r
- HKEY key = open_service_registry(service_name, KEY_READ, false);\r
+ HKEY key = open_service_registry(service_name, KEY_READ, true);\r
if (! key) return -1;\r
\r
ZeroMemory(value, sizeof(value_t));\r
- int ret = setting_get_environment(service_name, (void *) key, NSSM_NATIVE_ENVIRONMENT, default_value, value, additional);\r
+ int ret = setting_get_environment(service_name, (void *) key, name, default_value, value, additional);\r
RegCloseKey(key);\r
return ret;\r
}\r