Update: config file is a command line parameter.

This commit is contained in:
tomoaki
2016-07-22 12:24:29 +09:00
parent 4bdec4a11f
commit 5605ae0294
3 changed files with 17 additions and 6 deletions

View File

@@ -21,6 +21,7 @@
#include <signal.h>
#include <Timer.h>
#include <exception>
#include <getopt.h>
#include "MQTTSNGWProcess.h"
#include "Threading.h"
@@ -74,6 +75,18 @@ void Process::initialize(int argc, char** argv)
signal(SIGINT, signalHandler);
signal(SIGTERM, signalHandler);
signal(SIGHUP, signalHandler);
_configFile = string(MQTTSNGW_CONFIG_DIRECTORY) + string(MQTTSNGW_CONFIG_FILE);
int opt;
while ((opt = getopt(_argc, _argv, "f:")) != -1)
{
if ( opt == 'f' )
{
_configFile = string(optarg);
}
}
WRITELOG("Using config file:[%s]\n", _configFile.c_str());
}
int Process::getArgc()
@@ -92,13 +105,11 @@ int Process::getParam(const char* parameter, char* value)
char param[MQTTSNGW_PARAM_MAX];
FILE *fp;
string filename = string(MQTTSNGW_CONFIG_DIRECTORY) + string(MQTTSNGW_CONFIG_FILE);
int i = 0, j = 0;
if ((fp = fopen(filename.c_str(), "r")) == NULL)
if ((fp = fopen(_configFile.c_str(), "r")) == NULL)
{
WRITELOG("No config file:[%s]\n", filename.c_str());
WRITELOG("No config file:[%s]\n", _configFile.c_str());
return -1;
}