diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-10-29 12:21:53 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-10-29 12:21:53 +0100 |
commit | 881f18ef1ef829511f2002c08ed855f032184e6a (patch) | |
tree | c0a33e16c0df239e5af85ff489caa00e0eb82daa /cpp/src/Ice/BasicStream.cpp | |
parent | More UMR fixes (diff) | |
download | ice-881f18ef1ef829511f2002c08ed855f032184e6a.tar.bz2 ice-881f18ef1ef829511f2002c08ed855f032184e6a.tar.xz ice-881f18ef1ef829511f2002c08ed855f032184e6a.zip |
Minor core, test and demo fixes
- Fixed C# value demo to use sliced format
- Fixed Ice core to throw NoObjectFactoryException/UnknownUserException instead
or MarshalException when compact format is used an no factory is found.
- Fixed minor unitialized memory reads.
Diffstat (limited to 'cpp/src/Ice/BasicStream.cpp')
-rw-r--r-- | cpp/src/Ice/BasicStream.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/cpp/src/Ice/BasicStream.cpp b/cpp/src/Ice/BasicStream.cpp index cd32101f980..b4f2753802f 100644 --- a/cpp/src/Ice/BasicStream.cpp +++ b/cpp/src/Ice/BasicStream.cpp @@ -2887,9 +2887,17 @@ IceInternal::BasicStream::EncapsDecoder::skipSlice() } else { - throw MarshalException(__FILE__, - __LINE__, - "compact format prevents slicing (the sender should use the sliced format instead)"); + if(_sliceType == ObjectSlice) + { + throw NoObjectFactoryException( + __FILE__, __LINE__, + "compact format prevents slicing (the sender should use the sliced format instead)", + _typeId); + } + else + { + throw UnknownUserException(__FILE__, __LINE__, _typeId.substr(2)); + } } if(_encaps->encoding != Encoding_1_0) |