Tidy up French GUI.
[nssm.git] / registry.cpp
index c78cb8c..1b85af5 100644 (file)
@@ -166,6 +166,8 @@ int create_parameters(nssm_service_t *service, bool editing) {
     if (service->stderr_copy_and_truncate) set_createfile_parameter(key, NSSM_REG_STDERR, NSSM_REG_STDIO_COPY_AND_TRUNCATE, 1);\r
     else if (editing) delete_createfile_parameter(key, NSSM_REG_STDERR, NSSM_REG_STDIO_COPY_AND_TRUNCATE);\r
   }\r
+  if (service->timestamp_log) set_number(key, NSSM_REG_TIMESTAMP_LOG, 1);\r
+  else if (editing) RegDeleteValue(key, NSSM_REG_TIMESTAMP_LOG);\r
   if (service->hook_share_output_handles) set_number(key, NSSM_REG_HOOK_SHARE_OUTPUT_HANDLES, 1);\r
   else if (editing) RegDeleteValue(key, NSSM_REG_HOOK_SHARE_OUTPUT_HANDLES);\r
   if (service->rotate_files) set_number(key, NSSM_REG_ROTATE, 1);\r
@@ -667,6 +669,7 @@ void override_milliseconds(TCHAR *service_name, HKEY key, TCHAR *value, unsigned
   if (! ok) *buffer = default_value;\r
 }\r
 \r
+/* Open the key of the service itself Services\<service_name>. */\r
 HKEY open_service_registry(const TCHAR *service_name, REGSAM sam, bool must_exist) {\r
   /* Get registry */\r
   TCHAR registry[KEY_LENGTH];\r
@@ -678,6 +681,7 @@ HKEY open_service_registry(const TCHAR *service_name, REGSAM sam, bool must_exis
   return open_registry_key(registry, sam, must_exist);\r
 }\r
 \r
+/* Open a subkey of the service Services\<service_name>\<sub>. */\r
 long open_registry(const TCHAR *service_name, const TCHAR *sub, REGSAM sam, HKEY *key, bool must_exist) {\r
   /* Get registry */\r
   TCHAR registry[KEY_LENGTH];\r
@@ -826,9 +830,17 @@ int get_parameters(nssm_service_t *service, STARTUPINFO *si) {
     else service->rotate_stdout_online = service->rotate_stderr_online = false;\r
   }\r
   else service->rotate_stdout_online = service->rotate_stderr_online = false;\r
+  /* Log timestamping requires a logging thread.*/\r
+  unsigned long timestamp_log;\r
+  if (get_number(key, NSSM_REG_TIMESTAMP_LOG, &timestamp_log, false) == 1) {\r
+    if (timestamp_log) service->timestamp_log = true;\r
+    else service->timestamp_log = false;\r
+  }\r
+  else service->timestamp_log = false;\r
+\r
   /* Hook I/O sharing and online rotation need a pipe. */\r
-  service->use_stdout_pipe = service->rotate_stdout_online || hook_share_output_handles;\r
-  service->use_stderr_pipe = service->rotate_stderr_online || hook_share_output_handles;\r
+  service->use_stdout_pipe = service->rotate_stdout_online || service->timestamp_log || hook_share_output_handles;\r
+  service->use_stderr_pipe = service->rotate_stderr_online || service->timestamp_log || hook_share_output_handles;\r
   if (get_number(key, NSSM_REG_ROTATE_SECONDS, &service->rotate_seconds, false) != 1) service->rotate_seconds = 0;\r
   if (get_number(key, NSSM_REG_ROTATE_BYTES_LOW, &service->rotate_bytes_low, false) != 1) service->rotate_bytes_low = 0;\r
   if (get_number(key, NSSM_REG_ROTATE_BYTES_HIGH, &service->rotate_bytes_high, false) != 1) service->rotate_bytes_high = 0;\r