diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2008-02-19 09:22:00 -0330 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2008-02-19 09:22:00 -0330 |
commit | f5066cecf33527ef0401445e5836dcc859ff1692 (patch) | |
tree | b7e106eb1c5e9890faebfe616fe3bbd8ccb29474 /cpp/src/Ice/PropertiesI.cpp | |
parent | Merge branch 'master' of ssh://git/home/git/ice (diff) | |
download | ice-f5066cecf33527ef0401445e5836dcc859ff1692.tar.bz2 ice-f5066cecf33527ef0401445e5836dcc859ff1692.tar.xz ice-f5066cecf33527ef0401445e5836dcc859ff1692.zip |
Fixed errors indtoduced with adding getPropertyAsList
Diffstat (limited to 'cpp/src/Ice/PropertiesI.cpp')
-rw-r--r-- | cpp/src/Ice/PropertiesI.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/cpp/src/Ice/PropertiesI.cpp b/cpp/src/Ice/PropertiesI.cpp index bf8840badbe..5608d5715c1 100644 --- a/cpp/src/Ice/PropertiesI.cpp +++ b/cpp/src/Ice/PropertiesI.cpp @@ -101,7 +101,7 @@ Ice::PropertiesI::getPropertyAsListWithDefault(const string& key, const StringSe p->second.used = true; StringSeq result; - if(!IceUtilInternal::splitString(p->second.value, ", \t\n", result)) + if(!IceUtilInternal::splitString(p->second.value, ", \t\r\n", result)) { Warning out(getProcessLogger()); out << "mismatched quotes in property " << key << "'s value, returning default value"; @@ -486,14 +486,29 @@ Ice::PropertiesI::loadConfig() if(s && *s != '\0') { value = s; - setProperty("Ice.Config", value); } } - StringSeq files = getPropertyAsList("Ice.Config"); - for(StringSeq::const_iterator p = files.begin(); p != files.end(); ++p) + if(!value.empty()) { - load(*p); + const string delim = " \t\r\n"; + string::size_type beg = value.find_first_not_of(delim); + while(beg != string::npos) + { + string::size_type end = value.find(",", beg); + string file; + if(end == string::npos) + { + file = value.substr(beg); + beg = end; + } + else + { + file = value.substr(beg, end - beg); + beg = value.find_first_not_of("," + delim, end); + } + load(file); + } } PropertyValue pv(value, true); |