summaryrefslogtreecommitdiff
path: root/src/core/xbblockread.cpp
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2023-08-14 21:07:48 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2023-08-14 21:07:48 +0200
commitd850e78baf62d1f472a3a296f407c127c64cec88 (patch)
tree39725643b44c91ea25809766cf95cd0b1173e880 /src/core/xbblockread.cpp
parent15f88452d39eee5a89551a89ef2b93df5168ba2f (diff)
parentc894a7cdd8686ea695602a23a511a3f1b0d047be (diff)
Update upstream source from tag 'upstream/4.1.4'
Update to upstream version '4.1.4' with Debian dir 403f575aa88344456029245280a05149f0173f2e
Diffstat (limited to 'src/core/xbblockread.cpp')
-rwxr-xr-xsrc/core/xbblockread.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/core/xbblockread.cpp b/src/core/xbblockread.cpp
index 09076b1..7e2c5fc 100755
--- a/src/core/xbblockread.cpp
+++ b/src/core/xbblockread.cpp
@@ -50,10 +50,14 @@ xbBlockRead::~xbBlockRead(){
#ifdef XB_DEBUG_SUPPORT
void xbBlockRead::DumpReadBlockInternals(){
+
+ xbUInt32 ulRecCnt;
+ dbf->GetRecordCnt( ulRecCnt );
+
std::cout << "------- DumpBlockInternals ---------" << std::endl;
std::cout << "Dflt Blk Size = [" << dbf->GetXbasePtr()->GetDefaultBlockReadSize()
<< "]" << std::endl;
- std::cout << "Dbf Record Count = [" << dbf->GetRecordCount() << "]" << std::endl;
+ std::cout << "Dbf Record Count = [" << ulRecCnt << "]" << std::endl;
std::cout << "Dbf Record Len = [" << dbf->GetRecordLen() << "]" << std::endl;
std::cout << "ulBlkSize = [" << ulBlkSize << "]" << std::endl;
std::cout << "ulMaxRecs = [" << ulMaxRecs << "]" << std::endl;
@@ -136,7 +140,12 @@ xbInt16 xbBlockRead::GetBlockForRecNo( xbUInt32 ulRecNo ){
xbInt16 iErrorStop = 0;
try{
- xbUInt32 ulDbfRecCnt = dbf->GetRecordCount();
+ xbUInt32 ulDbfRecCnt;
+
+ if(( iRc = dbf->GetRecordCnt( ulDbfRecCnt )) != XB_NO_ERROR ){
+ iErrorStop = 100;
+ throw iRc;
+ }
// calc to determine block number for the requested record, 0 based offset
xbUInt32 ulBlockNo = (xbUInt32)(ulRecNo / ulMaxRecs);
@@ -183,7 +192,6 @@ xbInt16 xbBlockRead::GetBlockForRecNo( xbUInt32 ulRecNo ){
return iRc;
}
-
/************************************************************************/
//! @brief Get the current block size.
/*!