Moved console functions to a new file.
[nssm.git] / io.cpp
diff --git a/io.cpp b/io.cpp
index 41139a0..3ba919a 100644 (file)
--- a/io.cpp
+++ b/io.cpp
@@ -232,25 +232,7 @@ void rotate_file(TCHAR *service_name, TCHAR *path, unsigned long seconds, unsign
 \r
 int get_output_handles(nssm_service_t *service, HKEY key, STARTUPINFO *si) {\r
   /* Allocate a new console so we get a fresh stdin, stdout and stderr. */\r
-  if (si && ! service->no_console) {\r
-    FreeConsole();\r
-    AllocConsole();\r
-    banner();\r
-\r
-    /* Set a title like "[NSSM] Jenkins" */\r
-    TCHAR displayname[SERVICE_NAME_LENGTH];\r
-    unsigned long len = _countof(displayname);\r
-    SC_HANDLE services = open_service_manager();\r
-    if (services) {\r
-      if (! GetServiceDisplayName(services, service->name, displayname, &len)) ZeroMemory(displayname, sizeof(displayname));\r
-      CloseServiceHandle(services);\r
-    }\r
-    if (! displayname[0]) _sntprintf_s(displayname, _countof(displayname), _TRUNCATE, _T("%s"), service->name);\r
-\r
-    TCHAR title[65535];\r
-    _sntprintf_s(title, _countof(title), _TRUNCATE, _T("[%s] %s"), NSSM, displayname);\r
-    SetConsoleTitle(title);\r
-  }\r
+  if (si) alloc_console(service);\r
 \r
   /* stdin */\r
   if (get_createfile_parameters(key, NSSM_REG_STDIN, service->stdin_path, &service->stdin_sharing, NSSM_STDIN_SHARING, &service->stdin_disposition, NSSM_STDIN_DISPOSITION, &service->stdin_flags, NSSM_STDIN_FLAGS)) {\r