Added nssm_exe().
authorIain Patterson <me@iain.cx>
Fri, 15 Jul 2016 13:27:31 +0000 (14:27 +0100)
committerIain Patterson <me@iain.cx>
Fri, 15 Jul 2016 13:27:31 +0000 (14:27 +0100)
New function to retrieve argv[0].

nssm.cpp
nssm.h

index 647ea40..3df55bc 100644 (file)
--- a/nssm.cpp
+++ b/nssm.cpp
@@ -6,6 +6,7 @@ extern imports_t imports;
 \r
 static TCHAR unquoted_imagepath[PATH_LENGTH];\r
 static TCHAR imagepath[PATH_LENGTH];\r
+static TCHAR imageargv0[PATH_LENGTH];\r
 \r
 /* Are two strings case-insensitively equivalent? */\r
 int str_equiv(const TCHAR *a, const TCHAR *b) {\r
@@ -104,6 +105,10 @@ const TCHAR *nssm_imagepath() {
   return imagepath;\r
 }\r
 \r
+const TCHAR *nssm_exe() {\r
+  return imageargv0;\r
+}\r
+\r
 int _tmain(int argc, TCHAR **argv) {\r
   check_console();\r
 \r
@@ -123,6 +128,8 @@ int _tmain(int argc, TCHAR **argv) {
   if (get_imports()) exit(111);\r
 \r
   /* Remember our path for later. */\r
+  _sntprintf_s(imageargv0, _countof(imageargv0), _TRUNCATE, _T("%s"), argv[0]);\r
+  PathQuoteSpaces(imageargv0);\r
   GetModuleFileName(0, unquoted_imagepath, _countof(unquoted_imagepath));\r
   GetModuleFileName(0, imagepath, _countof(imagepath));\r
   PathQuoteSpaces(imagepath);\r
diff --git a/nssm.h b/nssm.h
index f500a33..118d20f 100644 (file)
--- a/nssm.h
+++ b/nssm.h
@@ -69,6 +69,7 @@ int num_cpus();
 int usage(int);\r
 const TCHAR *nssm_unquoted_imagepath();\r
 const TCHAR *nssm_imagepath();\r
+const TCHAR *nssm_exe();\r
 \r
 #define NSSM _T("NSSM")\r
 #ifdef _WIN64\r