Author: gordonsim
Date: 2008-06-04 11:05:58 -0400 (Wed, 04 Jun 2008)
New Revision: 2123
Modified:
store/trunk/cpp/lib/JournalImpl.cpp
Log:
Change to handling of loadContent where requested data is more than is available. Now just
return what is available without error.
Modified: store/trunk/cpp/lib/JournalImpl.cpp
===================================================================
--- store/trunk/cpp/lib/JournalImpl.cpp 2008-06-03 21:59:26 UTC (rev 2122)
+++ store/trunk/cpp/lib/JournalImpl.cpp 2008-06-04 15:05:58 UTC (rev 2123)
@@ -237,10 +237,10 @@
::free(_datap);
_datap = 0;
}
- _dlen = 0;
- _dtok.reset();
- _dtok.set_wstate(DataTokenImpl::ENQ);
- _dtok.set_rid(0);
+ _dlen = 0;
+ _dtok.reset();
+ _dtok.set_wstate(DataTokenImpl::ENQ);
+ _dtok.set_rid(0);
_external = false;
size_t xlen = 0;
bool transient = false;
@@ -284,11 +284,10 @@
if (_external)
return false;
if (offset + length > _dlen) {
- std::stringstream ss;
- ss << "loadMsgContent(): offset + length exceeds available message
size";
- throw jexception(0, ss.str().c_str(), "JournalImpl",
"loadMsgContent");
+ data.append((const char*)_datap + offset, _dlen - offset);
+ } else {
+ data.append((const char*)_datap + offset, length);
}
- data.append((const char*)_datap + offset, length);
return true;
}
Show replies by date