From 9c5d60fe7ad910fe5772d39b0b4e8d116cc8716c Mon Sep 17 00:00:00 2001 From: prozacx Date: Fri, 9 Sep 2005 07:16:29 +0000 Subject: [PATCH] Remove the unwanted --makeconf option when launching znc after writing a config git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@481 726aef4b-f618-498e-8847-2d620e286838 --- main.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/main.cpp b/main.cpp index 4ba28d87..5a67456d 100644 --- a/main.cpp +++ b/main.cpp @@ -47,7 +47,7 @@ void die(int sig) { exit(sig); } -int main(int argc, char** argv) { +int main(int argc, char** argv, char** envp) { CString sConfig; #ifdef HAVE_LIBSSL @@ -102,14 +102,25 @@ int main(int argc, char** argv) { if (optind < argc) { sConfig = argv[optind]; - } - if (bMakeConf) { - CZNC* pZNC = CZNC::New(); - pZNC->InitDirs(""); - if (!pZNC->WriteNewConfig(sConfig)) { + if (bMakeConf) { + CZNC* pZNC = CZNC::New(); + pZNC->InitDirs(""); + if (pZNC->WriteNewConfig(sConfig)) { + if (argc > 2) { + char* args[3]; + args[0] = argv[0]; + args[1] = argv[optind]; + args[2] = NULL; + execve(*argv, args, envp); + } + } + return 0; } + } else if (bMakeConf) { + GenerateHelp(argv[0]); + return 1; } #ifdef HAVE_LIBSSL