diff --git a/xflaim/src/flchktr.cpp b/xflaim/src/flchktr.cpp index 6384594..9172be6 100644 --- a/xflaim/src/flchktr.cpp +++ b/xflaim/src/flchktr.cpp @@ -271,7 +271,6 @@ RCODE F_DbCheck::chkReportError( m_uiFlags &= ~XFLM_DO_LOGICAL_CHECK; } - flmAssert( 0); return( m_LastStatusRc); } diff --git a/xflaim/src/flverify.cpp b/xflaim/src/flverify.cpp index 45f0933..74cdb98 100644 --- a/xflaim/src/flverify.cpp +++ b/xflaim/src/flverify.cpp @@ -1183,6 +1183,8 @@ RCODE F_DbCheck::verifyBTrees( F_BLK_HDR * pBlkHdr = NULL; F_CachedBlock * pSCache = NULL; + f_memset( State, 0, sizeof( State)); + // The StateInfo structs may have pointer to this object, // but we only need one instance, so do the new here, rather // than inside the loop where we initialize the StateInfo structs. diff --git a/xflaim/src/fslfileu.cpp b/xflaim/src/fslfileu.cpp index ff25a2d..ac686de 100644 --- a/xflaim/src/fslfileu.cpp +++ b/xflaim/src/fslfileu.cpp @@ -2604,9 +2604,7 @@ Exit: } /**************************************************************************** -Desc: Thread that will build an index in the background. - Caller will create a pDb to use. This pDb must be - freed at the conclusion of the routine. +Desc: ****************************************************************************/ RCODE F_Database::maintenanceThread( IF_Thread * pThread) @@ -2656,16 +2654,9 @@ Retry: } bStartedTrans = TRUE; - if( RC_BAD( rc = pDb->getDocument( + if( RC_BAD( pDb->getDocument( XFLM_MAINT_COLLECTION, XFLM_INCL, ui64DocId, (IF_DOMNode **)&pDoc))) { - if( rc != NE_XFLM_DOM_NODE_NOT_FOUND) - { - RC_UNEXPECTED_ASSERT( rc); - goto Exit; - } - - rc = NE_XFLM_OK; break; } diff --git a/xflaim/src/fsysdata.cpp b/xflaim/src/fsysdata.cpp index d5b128b..1680dfe 100644 --- a/xflaim/src/fsysdata.cpp +++ b/xflaim/src/fsysdata.cpp @@ -2062,14 +2062,6 @@ void F_DbSystem::cleanup( void) gv_XFlmSysData.pCacheCleanupThrd = NULL; } - // Release the thread manager - - if( gv_XFlmSysData.pThreadMgr) - { - gv_XFlmSysData.pThreadMgr->Release(); - gv_XFlmSysData.pThreadMgr = NULL; - } - // Free all of the files and associated structures if (gv_XFlmSysData.pDatabaseHashTbl) @@ -2165,6 +2157,14 @@ void F_DbSystem::cleanup( void) } } + // Release the thread manager + + if( gv_XFlmSysData.pThreadMgr) + { + gv_XFlmSysData.pThreadMgr->Release(); + gv_XFlmSysData.pThreadMgr = NULL; + } + // Release the file system object if (gv_XFlmSysData.pFileSystem) diff --git a/xflaim/util/view.cpp b/xflaim/util/view.cpp index 023480a..baacdf8 100644 --- a/xflaim/util/view.cpp +++ b/xflaim/util/view.cpp @@ -60,7 +60,6 @@ FSTATIC FLMBOOL ViewOpenFileDirect( void); static FLMBOOL bPauseBeforeExiting = FALSE; FLMUINT gv_uiTopLine = 0; FLMUINT gv_uiBottomLine = 0; -IF_DbSystem * gv_pDbSystem = NULL; /******************************************************************** Desc: ? diff --git a/xflaim/util/view.h b/xflaim/util/view.h index 4007d63..1dc4dec 100644 --- a/xflaim/util/view.h +++ b/xflaim/util/view.h @@ -539,6 +539,12 @@ EXTERN VIEW_MENU_ITEM_p gv_pViewMenuLastItem #endif ; +EXTERN IF_DbSystem * gv_pDbSystem +#ifdef MAIN_MODULE + = NULL +#endif + ; + // Function prototypes #ifdef FLM_NLM diff --git a/xflaim/util/viewblk.cpp b/xflaim/util/viewblk.cpp index b233877..768562f 100644 --- a/xflaim/util/viewblk.cpp +++ b/xflaim/util/viewblk.cpp @@ -316,15 +316,25 @@ FLMBOOL ViewBlkRead( { convert16( &ui16BlkBytesAvail); } - uiBlkEnd = (blkIsNewBTree( pBlkHdr) - ? gv_ViewDbHdr.ui16BlockSize - : gv_ViewDbHdr.ui16BlockSize - (FLMUINT)ui16BlkBytesAvail); - *pui32CalcCRC = calcBlkCRC( pBlkHdr, uiBlkEnd); + + if( ui16BlkBytesAvail > gv_ViewDbHdr.ui16BlockSize) + { + *pui32CalcCRC = 0; + } + else + { + uiBlkEnd = (blkIsNewBTree( pBlkHdr) + ? gv_ViewDbHdr.ui16BlockSize + : gv_ViewDbHdr.ui16BlockSize - (FLMUINT)ui16BlkBytesAvail); + *pui32CalcCRC = calcBlkCRC( pBlkHdr, uiBlkEnd); + } } + if (blkIsNonNativeFormat( pBlkHdr)) { convertBlk( (FLMUINT)gv_ViewDbHdr.ui16BlockSize, pBlkHdr); } + if (pui32BlkCRC) { *pui32BlkCRC = pBlkHdr->ui32BlkCRC; diff --git a/xflaim/util/viewmenu.cpp b/xflaim/util/viewmenu.cpp index 03aad45..47c8668 100644 --- a/xflaim/util/viewmenu.cpp +++ b/xflaim/util/viewmenu.cpp @@ -180,7 +180,6 @@ FSTATIC void ViewDispMenuItem( FLMUINT uiCol = pMenuItem->uiCol; FLMUINT uiLoop; char szTempBuf [80]; - F_DbSystem dbSystem; if (!gv_bViewEnabled) { @@ -288,7 +287,7 @@ FSTATIC void ViewDispMenuItem( case VAL_IS_ERR_INDEX: { FLMUINT ValIndex = (FLMUINT)pMenuItem->ui64Value; - f_conStrOutXY( dbSystem.checkErrorToStr( ValIndex), + f_conStrOutXY( gv_pDbSystem->checkErrorToStr( ValIndex), uiCol, uiRow); break; }