summaryrefslogtreecommitdiff
path: root/cppe/src/IceE/ReferenceFactory.cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2007-05-03 01:09:44 +0000
committerMatthew Newhook <matthew@zeroc.com>2007-05-03 01:09:44 +0000
commit892efb1cadf9acbf693a549667d1a7884f488675 (patch)
tree047d796448c508448b840e34559d01432ecfab8f /cppe/src/IceE/ReferenceFactory.cpp
parentFixed Windows build for last change (diff)
downloadice-892efb1cadf9acbf693a549667d1a7884f488675.tar.bz2
ice-892efb1cadf9acbf693a549667d1a7884f488675.tar.xz
ice-892efb1cadf9acbf693a549667d1a7884f488675.zip
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2118. Minor edit to
INSTALL.WINDOWS.
Diffstat (limited to 'cppe/src/IceE/ReferenceFactory.cpp')
-rw-r--r--cppe/src/IceE/ReferenceFactory.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/cppe/src/IceE/ReferenceFactory.cpp b/cppe/src/IceE/ReferenceFactory.cpp
index d2632743f61..6fb0bed3245 100644
--- a/cppe/src/IceE/ReferenceFactory.cpp
+++ b/cppe/src/IceE/ReferenceFactory.cpp
@@ -518,6 +518,7 @@ IceInternal::ReferenceFactory::create(const string& str)
throw ex;
}
+ string adapterstr;
end = IceUtil::checkQuote(s, beg);
if(end == string::npos)
{
@@ -532,13 +533,24 @@ IceInternal::ReferenceFactory::create(const string& str)
{
end = s.size();
}
+ adapterstr = s.substr(beg, end - beg);
}
else
{
beg++; // Skip leading quote
+ adapterstr = s.substr(beg, end - beg);
+ end++; // Skip trailing quote.
}
- if(!IceUtil::unescapeString(s, beg, end, adapter) || adapter.size() == 0)
+ // Check for trailing whitespace.
+ if(end != string::npos && s.find_first_not_of(delim, end) != string::npos)
+ {
+ ProxyParseException ex(__FILE__, __LINE__);
+ ex.str = str;
+ throw ex;
+ }
+
+ if(!IceUtil::unescapeString(adapterstr, 0, adapterstr.size(), adapter) || adapter.size() == 0)
{
ProxyParseException ex(__FILE__, __LINE__);
ex.str = str;