diff options
author | Mark Spruiell <mes@zeroc.com> | 2003-12-12 02:17:55 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2003-12-12 02:17:55 +0000 |
commit | 8fe9312e617e3fbd84d239958107380bf35d514f (patch) | |
tree | f9fcb6017e86fb04c6cb641a29c4548b957e2d74 /cpp/src | |
parent | the icepatch server now doesn't chdir anymore (diff) | |
download | ice-8fe9312e617e3fbd84d239958107380bf35d514f.tar.bz2 ice-8fe9312e617e3fbd84d239958107380bf35d514f.tar.xz ice-8fe9312e617e3fbd84d239958107380bf35d514f.zip |
temporary fix for type mismatch error
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Transform/Data.cpp | 8 | ||||
-rw-r--r-- | cpp/src/Transform/Data.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/cpp/src/Transform/Data.cpp b/cpp/src/Transform/Data.cpp index f2f02bfcead..83a3cbbce02 100644 --- a/cpp/src/Transform/Data.cpp +++ b/cpp/src/Transform/Data.cpp @@ -2823,7 +2823,7 @@ Transform::DictionaryData::transform(const DataPtr& data, DataInterceptor& inter { if(interceptor.preTransform(this, data)) { - transformI(data, interceptor); + transformI(data, interceptor, false); } interceptor.postTransform(this, data); } @@ -2837,7 +2837,7 @@ Transform::DictionaryData::set(const DataPtr& value, DataInterceptor& intercepto } else { - transformI(value, interceptor); + transformI(value, interceptor, true); } } @@ -2947,7 +2947,7 @@ Transform::DictionaryData::printI(IceUtil::Output& out, ObjectDataHistory& histo } void -Transform::DictionaryData::transformI(const DataPtr& data, DataInterceptor& interceptor) +Transform::DictionaryData::transformI(const DataPtr& data, DataInterceptor& interceptor, bool checkTypes) { DictionaryDataPtr d = DictionaryDataPtr::dynamicCast(data); if(d && isCompatible(_type, d->_type, interceptor)) @@ -3002,7 +3002,7 @@ Transform::DictionaryData::transformI(const DataPtr& data, DataInterceptor& inte _map = m; _length = _factory->createInteger(static_cast<Ice::Long>(_map.size()), true); } - else + else if(checkTypes) { _errorReporter->typeMismatchError(_type, data->getType(), false); } diff --git a/cpp/src/Transform/Data.h b/cpp/src/Transform/Data.h index 0f520e0d2a4..fba4a753ddb 100644 --- a/cpp/src/Transform/Data.h +++ b/cpp/src/Transform/Data.h @@ -538,7 +538,7 @@ private: DictionaryData(const DataFactoryPtr&, const Slice::DictionaryPtr&, const ErrorReporterPtr&, bool, const DataMap&); - void transformI(const DataPtr&, DataInterceptor&); + void transformI(const DataPtr&, DataInterceptor&, bool); DataFactoryPtr _factory; Slice::DictionaryPtr _type; |