From c9e869122973245ddd662c6bcb5bef4f6912b7a1 Mon Sep 17 00:00:00 2001 From: psychon Date: Wed, 11 Apr 2007 15:18:21 +0000 Subject: [PATCH] Honour --datadir when restarting ZNC git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@792 726aef4b-f618-498e-8847-2d620e286838 --- main.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/main.cpp b/main.cpp index 9cad0087..823aab86 100644 --- a/main.cpp +++ b/main.cpp @@ -112,16 +112,28 @@ int main(int argc, char** argv, char** envp) { CZNC& ZNC = CZNC::Get(); ZNC.InitDirs("", sDataDir); if (ZNC.WriteNewConfig(sConfig)) { - char* args[3]; + char* args[5]; if (argc > 2) { args[0] = argv[0]; - args[1] = argv[optind]; - args[2] = NULL; + if (!sDataDir.empty()) { + args[1] = "--datadir"; + args[2] = strdup(sDataDir.c_str()); + args[3] = argv[optind]; + args[4] = NULL; + } else { + args[1] = argv[optind]; + args[2] = NULL; + } } else if (argc > 1) { args[0] = argv[0]; - args[1] = NULL; - args[2] = NULL; + if (!sDataDir.empty()) { + args[1] = "--datadir"; + args[2] = strdup(sDataDir.c_str()); + args[3] = NULL; + } else { + args[1] = NULL; + } } else { CUtils::PrintError("Unable to launch znc [Try manually restarting]"); return 1;