diff options
author | Matthew Newhook <matthew@zeroc.com> | 2007-05-03 01:09:44 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2007-05-03 01:09:44 +0000 |
commit | 892efb1cadf9acbf693a549667d1a7884f488675 (patch) | |
tree | 047d796448c508448b840e34559d01432ecfab8f /cppe/src/IceE/ReferenceFactory.cpp | |
parent | Fixed Windows build for last change (diff) | |
download | ice-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.cpp | 14 |
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; |