Tidy up French GUI.
[nssm.git] / settings.cpp
index 11984bc..e72430f 100644 (file)
@@ -1152,12 +1152,21 @@ int native_dump_objectname(const TCHAR *service_name, void *param, const TCHAR *
   int ret = native_get_objectname(service_name, param, name, default_value, value, additional);\r
   if (ret != 1) return ret;\r
 \r
-  /* Do we need to dump a dummy password? */\r
-  if (! well_known_username(value->string)) {\r
-    /* Parameters are the other way round. */\r
-    value_t inverted;\r
-    inverted.string = _T("****");\r
-    return setting_dump_string(service_name, (void *) REG_SZ, name, &inverted, value->string);\r
+  /* Properly checking for a virtual account requires the actual service name. */\r
+  if (! _tcsnicmp(NSSM_VIRTUAL_SERVICE_ACCOUNT_DOMAIN, value->string, _tcslen(NSSM_VIRTUAL_SERVICE_ACCOUNT_DOMAIN))) {\r
+    TCHAR *name = virtual_account(service_name);\r
+    if (! name) return -1;\r
+    HeapFree(GetProcessHeap(), 0, value->string);\r
+    value->string = name;\r
+  }\r
+  else {\r
+    /* Do we need to dump a dummy password? */\r
+    if (! well_known_username(value->string)) {\r
+      /* Parameters are the other way round. */\r
+      value_t inverted;\r
+      inverted.string = _T("****");\r
+      return setting_dump_string(service_name, (void *) REG_SZ, name, &inverted, value->string);\r
+    }\r
   }\r
   return setting_dump_string(service_name, (void *) REG_SZ, name, value, 0);\r
 }\r
@@ -1426,6 +1435,7 @@ settings_t settings[] = {
   { NSSM_REG_ROTATE_BYTES_LOW, REG_DWORD, 0, false, 0, setting_set_number, setting_get_number, 0 },\r
   { NSSM_REG_ROTATE_BYTES_HIGH, REG_DWORD, 0, false, 0, setting_set_number, setting_get_number, 0 },\r
   { NSSM_REG_ROTATE_DELAY, REG_DWORD, (void *) NSSM_ROTATE_DELAY, false, 0, setting_set_number, setting_get_number, 0 },\r
+  { NSSM_REG_TIMESTAMP_LOG, REG_DWORD, 0, false, 0, setting_set_number, setting_get_number, 0 },\r
   { NSSM_NATIVE_DEPENDONGROUP, REG_MULTI_SZ, NULL, true, ADDITIONAL_CRLF, native_set_dependongroup, native_get_dependongroup, native_dump_dependongroup },\r
   { NSSM_NATIVE_DEPENDONSERVICE, REG_MULTI_SZ, NULL, true, ADDITIONAL_CRLF, native_set_dependonservice, native_get_dependonservice, native_dump_dependonservice },\r
   { NSSM_NATIVE_DESCRIPTION, REG_SZ, _T(""), true, 0, native_set_description, native_get_description, 0 },\r