fixed including config files' path

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1234 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Stefan Sayer 18 years ago
parent 9c7dd96e75
commit 35fa987f32

@ -72,8 +72,10 @@ int AmConfigReader::loadFile(const string& path)
inc_beg = c++;
while( !IS_EOL(*c) && !IS_SPACE(*c) ) c++;
inc_end = c;
if(loadFile(AmConfig::ModConfigPath +
string(inc_beg,inc_end-inc_beg) ))
string fname = string(inc_beg,inc_end-inc_beg);
if (fname.length() && fname[0] != '/')
fname = AmConfig::ModConfigPath + fname;
if(loadFile(fname))
return -1;
continue;
}
@ -114,15 +116,20 @@ int AmConfigReader::loadFile(const string& path)
if((key_beg < key_end) && (val_beg <= val_end)) {
string keyname = string(key_beg,key_end-key_beg);
string val = string(val_beg,val_end-val_beg);
if (hasParameter(keyname)) {
WARN("while loading '%s': overwriting configuration "
"'%s' value '%s' with '%s'\n",
path.c_str(), keyname.c_str(),
getParameter(keyname).c_str(),
string(val_beg,val_end-val_beg).c_str());
getParameter(keyname).c_str(), val.c_str());
}
keys[keyname] =
string(val_beg,val_end-val_beg);
keys[keyname] = val;
// small hack to make include work with right path
if (keyname == "plugin_config_path")
AmConfig::ModConfigPath = val;
} else
goto syntax_error;
}

@ -12,6 +12,8 @@
#
# example: option=value # i like this option
#
# @filename includes mod_config_path/filename
# @/absolute/path/to/file includes file
############################################################
# Network configuration

@ -33,7 +33,7 @@
#endif
#define CONFIG_FILE "/usr/local/etc/sems/sems.conf"
#define MOD_CFG_PATH "/usr/local/etc/sems/etc"
#define MOD_CFG_PATH "/usr/local/etc/sems/etc/"
#define SER_FIFO "/tmp/ser_fifo"
#define FIFO_NAME "/tmp/am_fifo"
#define SEND_METHOD "unix"

Loading…
Cancel
Save