本文整理汇总了C++中RC_BAD函数的典型用法代码示例。如果您正苦于以下问题:C++ RC_BAD函数的具体用法?C++ RC_BAD怎么用?C++ RC_BAD使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RC_BAD函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: f_memset
/****************************************************************************
Desc:
****************************************************************************/
RCODE TestBase::openTestState(
const char * pszDibName)
{
RCODE rc = FERR_OK;
CREATE_OPTS createOpts;
if( RC_BAD( rc = gv_FlmSysData.pFileSystem->doesFileExist( pszDibName)))
{
// Create the database
f_memset( &createOpts, 0, sizeof( CREATE_OPTS));
if( RC_BAD( rc = FlmDbCreate( pszDibName,
NULL, NULL, NULL, NULL, &createOpts, &m_hDb)))
{
goto Exit;
}
}
else
{
// Open the existing database
if( RC_BAD( rc = FlmDbOpen( pszDibName, NULL, NULL,
0, NULL, &m_hDb)))
{
goto Exit;
}
}
Exit:
return( rc);
}
示例2: reset
/****************************************************************************
Desc:
****************************************************************************/
void FlagSet::init(
FLMBYTE ** ppucElemArray,
FLMUINT uiNumElems)
{
reset();
if( RC_BAD( f_alloc( sizeof( FLMBYTE *) * uiNumElems,
&m_ppucElemArray)))
{
flmAssert( 0);
}
if( RC_BAD( f_alloc( sizeof( FLMBOOL) * uiNumElems,
&m_pbFlagArray)))
{
flmAssert( 0);
}
f_memset( m_pbFlagArray, 0, sizeof( FLMBOOL) * uiNumElems);
for( FLMUINT uiLoop = 0; uiLoop < uiNumElems; uiLoop++)
{
if( RC_BAD( f_alloc( f_strlen( (char *)ppucElemArray[ uiLoop]) + 1,
&m_ppucElemArray[ uiLoop])))
{
flmAssert( 0);
}
f_strcpy( (char *)m_ppucElemArray[uiLoop], (char *)ppucElemArray[uiLoop]);
}
m_uiNumElems = uiNumElems;
}
示例3: expandArgs
/****************************************************************************
Desc:
****************************************************************************/
RCODE ArgList::expandArgs(
char ** ppszArgs,
FLMUINT uiNumArgs)
{
RCODE rc = FERR_OK;
FLMUINT uiLoop;
for( uiLoop = 0; uiLoop < uiNumArgs; uiLoop++)
{
if( ppszArgs[uiLoop][0] == '@')
{
if( RC_BAD( rc = expandFileArgs( &ppszArgs[uiLoop][ 1])))
{
goto Exit;
}
}
else
{
if( RC_BAD( rc = addArg( ppszArgs[ uiLoop])))
{
goto Exit;
}
}
}
Exit:
return( rc);
}
示例4: flmAssert
/****************************************************************************
Desc:
****************************************************************************/
FlagSet::FlagSet(
const FlagSet& fs)
{
if( RC_BAD( f_alloc( sizeof( FLMBYTE *) * fs.m_uiNumElems,
&m_ppucElemArray)))
{
flmAssert( 0);
}
if( RC_BAD( f_alloc( sizeof( FLMBOOL) * fs.m_uiNumElems,
&m_pbFlagArray)))
{
flmAssert( 0);
}
f_memset( m_pbFlagArray, 0, sizeof( FLMBOOL) * fs.m_uiNumElems);
for( FLMUINT uiLoop = 0; uiLoop < fs.m_uiNumElems; uiLoop++)
{
if( RC_BAD( f_alloc( f_strlen( (char *)fs.m_ppucElemArray[uiLoop]) + 1,
&m_ppucElemArray[ uiLoop])))
{
flmAssert( 0);
}
f_strcpy( (char *)m_ppucElemArray[uiLoop],
(char *)fs.m_ppucElemArray[uiLoop]);
}
m_uiNumElems = fs.m_uiNumElems;
}
示例5: addArg
/****************************************************************************
Desc:
****************************************************************************/
RCODE ArgList::addArg(
const char * pszArg)
{
RCODE rc = FERR_OK;
if( m_uiNumEntries >= m_uiCapacity)
{
if( RC_BAD( rc = resize()))
{
goto Exit;
}
}
if( RC_BAD( rc = f_alloc( f_strlen( pszArg) + 1,
&m_ppszArgs[ m_uiNumEntries])))
{
goto Exit;
}
f_strcpy( m_ppszArgs[ m_uiNumEntries++], pszArg);
Exit:
return( rc);
}
示例6: f_sprintf
/****************************************************************************
Desc:
****************************************************************************/
RCODE IFlmTestLogger::appendString(
const char * pszString)
{
RCODE rc = FERR_OK;
char * pszTemp = NULL;
if ( RC_BAD( rc = f_alloc( f_strlen( pszString) + 3, &pszTemp)))
{
goto Exit;
}
f_sprintf( pszTemp, "%s\n", pszString);
if( RC_BAD( rc = f_filecat( m_szFilename, pszString)))
{
goto Exit;
}
Exit:
if ( pszTemp)
{
f_free( &pszTemp);
}
return rc;
}
示例7: resize
/****************************************************************************
Desc:
****************************************************************************/
RCODE ArgList::resize( void)
{
RCODE rc = FERR_OK;
FLMUINT uiLoop;
char ** ppszTemp = NULL;
if( RC_BAD( rc = f_alloc( m_uiCapacity * GROW_FACTOR * sizeof(char*),
&ppszTemp)))
{
goto Exit;
}
m_uiCapacity *= GROW_FACTOR;
for( uiLoop = 0; uiLoop < m_uiNumEntries; uiLoop++)
{
if( RC_BAD( rc = f_alloc( f_strlen( m_ppszArgs[ uiLoop]) + 1,
&ppszTemp[ uiLoop])))
{
f_free( &ppszTemp);
goto Exit;
}
f_strcpy( ppszTemp[uiLoop], m_ppszArgs[uiLoop]);
}
f_free( &m_ppszArgs);
m_ppszArgs = ppszTemp;
Exit:
return( rc);
}
示例8: processDupKeys
/****************************************************************************
Desc: Checks if the current database has any UNIQUE indexes that need
to checked. Also does duplicate processing for the record.
****************************************************************************/
RCODE F_Db::processDupKeys(
F_INDEX * pIndex)
{
RCODE rc = NE_SFLM_OK;
// Sort and remove duplicates
if (m_uiKrefCount > 1)
{
if (RC_BAD( rc = krefQuickSort( this, pIndex, m_pKrefTbl,
0, m_uiKrefCount - 1)))
{
goto Exit;
}
if (RC_BAD( rc = krefKillDups( this, pIndex,
m_pKrefTbl, &m_uiKrefCount)))
{
goto Exit;
}
}
Exit:
return( rc);
}
示例9: f_yieldCPU
/***************************************************************************
Desc: This routine verifies the LFH blocks.
*****************************************************************************/
RCODE F_DbCheck::verifyLFHBlocks(
FLMBOOL * pbStartOverRV)
{
RCODE rc = NE_XFLM_OK;
m_Progress.ui32LfNumber = 0;
m_Progress.ui32LfType = 0;
m_Progress.i32CheckPhase = XFLM_CHECK_LFH_BLOCKS;
m_Progress.bStartFlag = TRUE;
if (RC_BAD( rc = chkCallProgFunc()))
{
goto Exit;
}
m_Progress.bStartFlag = FALSE;
f_yieldCPU();
// Go through the LFH blocks.
if (RC_BAD( rc = verifyBlkChain(
&m_pDbInfo->m_LFHBlocks, XFLM_LOCALE_LFH_LIST,
(FLMUINT)m_pDb->m_pDatabase->m_lastCommittedDbHdr.ui32FirstLFBlkAddr,
BT_LFH_BLK, pbStartOverRV)) ||
*pbStartOverRV)
{
goto Exit;
}
Exit:
return( rc);
}
示例10: outputKey
/****************************************************************************
Desc: Compose a key buffer from the vector's components.
****************************************************************************/
RCODE XFLAPI F_DataVector::outputKey(
IF_Db * ifpDb,
FLMUINT uiIndexNum,
FLMUINT, // uiMatchFlags, //VISIT: Need to remove this from the interface.
FLMBYTE * pucKeyBuf,
FLMUINT uiKeyBufSize,
FLMUINT * puiKeyLen)
{
RCODE rc = NE_XFLM_OK;
IXD * pIxd;
if (RC_BAD( rc = ((F_Db *)ifpDb)->m_pDict->getIndex( uiIndexNum, NULL, &pIxd, TRUE)))
{
goto Exit;
}
if (RC_BAD( rc = outputKey( pIxd, XFLM_MATCH_IDS | XFLM_MATCH_DOC_ID, pucKeyBuf,
uiKeyBufSize, puiKeyLen, 0)))
{
goto Exit;
}
Exit:
return( rc);
}
示例11: sizeof
/****************************************************************************
Desc: Set a FLMUINT64 value for a vector element.
****************************************************************************/
RCODE XFLAPI F_DataVector::setUINT64(
FLMUINT uiElementNumber,
FLMUINT64 ui64Num)
{
RCODE rc = NE_XFLM_OK;
FLMBYTE ucStorageBuf [FLM_MAX_NUM_BUF_SIZE];
FLMUINT uiStorageLen;
uiStorageLen = sizeof( ucStorageBuf);
if (RC_BAD( rc = flmNumber64ToStorage( ui64Num,
&uiStorageLen, ucStorageBuf, FALSE, FALSE)))
{
goto Exit;
}
if (RC_BAD( rc = storeValue( uiElementNumber,
XFLM_NUMBER_TYPE, ucStorageBuf, uiStorageLen)))
{
goto Exit;
}
Exit:
return( rc);
}
示例12: entryCount
/****************************************************************************
Desc: Reinsert all entries given a new root block.
Caller will release 'this'. Used ONLY for building the first
ROOT and two leaves of the tree.
****************************************************************************/
RCODE F_BtreeLeaf::split(
F_BtreeRoot * pNewRoot) // New Non-leaf root
{
RCODE rc = NE_FLM_OK;
FLMBYTE * pucEntry;
FLMUINT uiPos;
FLMUINT uiEntryCount = entryCount();
FLMUINT uiMid = (uiEntryCount + 1) >> 1;
if (RC_BAD( rc = pNewRoot->setupTree( ENTRY_POS(uiMid),
ACCESS_BTREE_LEAF, NULL, NULL)))
{
goto Exit;
}
for (uiPos = 0; uiPos < uiEntryCount; uiPos++)
{
pucEntry = ENTRY_POS( uiPos);
if ((rc = pNewRoot->search( pucEntry)) != NE_FLM_NOT_FOUND)
{
rc = RC_SET_AND_ASSERT( NE_FLM_FAILURE);
goto Exit;
}
if (RC_BAD( rc = pNewRoot->insert( pucEntry)))
{
goto Exit;
}
}
Exit:
return( rc);
}
示例13: f_rwlockCreate
/****************************************************************************
Desc:
****************************************************************************/
RCODE FLMAPI f_rwlockCreate(
F_RWLOCK * phReadWriteLock)
{
RCODE rc = NE_FLM_OK;
F_RWLOCK_IMP * pReadWriteLock = NULL;
if( RC_BAD( rc = f_calloc( sizeof( F_RWLOCK_IMP), &pReadWriteLock)))
{
goto Exit;
}
pReadWriteLock->hMutex = F_MUTEX_NULL;
if( RC_BAD( rc = f_mutexCreate( &pReadWriteLock->hMutex)))
{
goto Exit;
}
*phReadWriteLock = (F_RWLOCK)pReadWriteLock;
pReadWriteLock = NULL;
Exit:
if( pReadWriteLock)
{
f_rwlockDestroy( (F_RWLOCK *)&pReadWriteLock);
}
return( rc);
}
示例14: flmAssert
/****************************************************************************
Desc:
****************************************************************************/
RCODE F_FSRestore::openBackupSet( void)
{
RCODE rc = NE_SFLM_OK;
flmAssert( m_bSetupCalled);
flmAssert( !m_pMultiFileHdl);
if( RC_BAD( rc = FlmAllocMultiFileHdl( &m_pMultiFileHdl)))
{
goto Exit;
}
if( RC_BAD( rc = m_pMultiFileHdl->openFile( m_szBackupSetPath)))
{
m_pMultiFileHdl->Release();
m_pMultiFileHdl = NULL;
goto Exit;
}
m_ui64Offset = 0;
m_bOpen = TRUE;
Exit:
return( rc);
}
示例15: flmGetHdrInfo
/***************************************************************************
Desc: This routine reads the header information in a FLAIM database,
verifies the password, and returns the file header and log
header information.
*****************************************************************************/
RCODE flmGetHdrInfo(
F_SuperFileHdl * pSFileHdl,
XFLM_DB_HDR * pDbHdr,
FLMUINT32 * pui32CalcCRC)
{
RCODE rc = NE_XFLM_OK;
IF_FileHdl * pCFileHdl = NULL;
if( RC_BAD( rc = pSFileHdl->getFileHdl( 0, FALSE, &pCFileHdl)))
{
goto Exit;
}
if( RC_BAD( rc = flmReadAndVerifyHdrInfo( NULL, pCFileHdl,
pDbHdr, pui32CalcCRC)))
{
goto Exit;
}
Exit:
if( pCFileHdl)
{
pCFileHdl->Release();
}
return( rc);
}