summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/PropertiesI.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2008-02-19 09:22:00 -0330
committerDwayne Boone <dwayne@zeroc.com>2008-02-19 09:22:00 -0330
commitf5066cecf33527ef0401445e5836dcc859ff1692 (patch)
treeb7e106eb1c5e9890faebfe616fe3bbd8ccb29474 /cpp/src/Ice/PropertiesI.cpp
parentMerge branch 'master' of ssh://git/home/git/ice (diff)
downloadice-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.cpp25
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);