pCur 6732 ext/sqlite3/libsqlite/sqlite3.c SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); pCur 52926 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3BtreeEnterCursor(BtCursor *pCur){ pCur 52927 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeEnter(pCur->pBtree); pCur 52929 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3BtreeLeaveCursor(BtCursor *pCur){ pCur 52930 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeLeave(pCur->pBtree); pCur 53510 ext/sqlite3/libsqlite/sqlite3.c #define invalidateOverflowCache(pCur) (pCur->curFlags &= ~BTCF_ValidOvfl) pCur 53634 ext/sqlite3/libsqlite/sqlite3.c static void btreeReleaseAllCursorPages(BtCursor *pCur){ pCur 53636 ext/sqlite3/libsqlite/sqlite3.c for(i=0; i<=pCur->iPage; i++){ pCur 53637 ext/sqlite3/libsqlite/sqlite3.c releasePage(pCur->apPage[i]); pCur 53638 ext/sqlite3/libsqlite/sqlite3.c pCur->apPage[i] = 0; pCur 53640 ext/sqlite3/libsqlite/sqlite3.c pCur->iPage = -1; pCur 53651 ext/sqlite3/libsqlite/sqlite3.c static int saveCursorPosition(BtCursor *pCur){ pCur 53654 ext/sqlite3/libsqlite/sqlite3.c assert( CURSOR_VALID==pCur->eState || CURSOR_SKIPNEXT==pCur->eState ); pCur 53655 ext/sqlite3/libsqlite/sqlite3.c assert( 0==pCur->pKey ); pCur 53656 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 53658 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState==CURSOR_SKIPNEXT ){ pCur 53659 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_VALID; pCur 53661 ext/sqlite3/libsqlite/sqlite3.c pCur->skipNext = 0; pCur 53663 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeKeySize(pCur, &pCur->nKey); pCur 53672 ext/sqlite3/libsqlite/sqlite3.c if( 0==pCur->apPage[0]->intKey ){ pCur 53673 ext/sqlite3/libsqlite/sqlite3.c void *pKey = sqlite3Malloc( pCur->nKey ); pCur 53675 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeKey(pCur, 0, (int)pCur->nKey, pKey); pCur 53677 ext/sqlite3/libsqlite/sqlite3.c pCur->pKey = pKey; pCur 53685 ext/sqlite3/libsqlite/sqlite3.c assert( !pCur->apPage[0]->intKey || !pCur->pKey ); pCur 53688 ext/sqlite3/libsqlite/sqlite3.c btreeReleaseAllCursorPages(pCur); pCur 53689 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_REQUIRESEEK; pCur 53692 ext/sqlite3/libsqlite/sqlite3.c invalidateOverflowCache(pCur); pCur 53751 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3BtreeClearCursor(BtCursor *pCur){ pCur 53752 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 53753 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pCur->pKey); pCur 53754 ext/sqlite3/libsqlite/sqlite3.c pCur->pKey = 0; pCur 53755 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 53764 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur, /* Cursor open on the btree to be searched */ pCur 53778 ext/sqlite3/libsqlite/sqlite3.c pCur->pKeyInfo, aSpace, sizeof(aSpace), &pFree pCur 53781 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeRecordUnpack(pCur->pKeyInfo, (int)nKey, pKey, pIdxKey); pCur 53783 ext/sqlite3/libsqlite/sqlite3.c sqlite3DbFree(pCur->pKeyInfo->db, pFree); pCur 53789 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeMovetoUnpacked(pCur, pIdxKey, nKey, bias, pRes); pCur 53791 ext/sqlite3/libsqlite/sqlite3.c sqlite3DbFree(pCur->pKeyInfo->db, pFree); pCur 53803 ext/sqlite3/libsqlite/sqlite3.c static int btreeRestoreCursorPosition(BtCursor *pCur){ pCur 53806 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 53807 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState>=CURSOR_REQUIRESEEK ); pCur 53808 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState==CURSOR_FAULT ){ pCur 53809 ext/sqlite3/libsqlite/sqlite3.c return pCur->skipNext; pCur 53811 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 53812 ext/sqlite3/libsqlite/sqlite3.c rc = btreeMoveto(pCur, pCur->pKey, pCur->nKey, 0, &skipNext); pCur 53814 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pCur->pKey); pCur 53815 ext/sqlite3/libsqlite/sqlite3.c pCur->pKey = 0; pCur 53816 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_INVALID ); pCur 53817 ext/sqlite3/libsqlite/sqlite3.c pCur->skipNext |= skipNext; pCur 53818 ext/sqlite3/libsqlite/sqlite3.c if( pCur->skipNext && pCur->eState==CURSOR_VALID ){ pCur 53819 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_SKIPNEXT; pCur 53842 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor *pCur){ pCur 53843 ext/sqlite3/libsqlite/sqlite3.c return pCur->eState!=CURSOR_VALID; pCur 53859 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeCursorRestore(BtCursor *pCur, int *pDifferentRow){ pCur 53862 ext/sqlite3/libsqlite/sqlite3.c assert( pCur!=0 ); pCur 53863 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState!=CURSOR_VALID ); pCur 53864 ext/sqlite3/libsqlite/sqlite3.c rc = restoreCursorPosition(pCur); pCur 53869 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState!=CURSOR_VALID ){ pCur 53872 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->skipNext==0 ); pCur 55315 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur; pCur 55320 ext/sqlite3/libsqlite/sqlite3.c pCur = pBt->pCursor; pCur 55321 ext/sqlite3/libsqlite/sqlite3.c while( pCur ){ pCur 55322 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pTmp = pCur; pCur 55323 ext/sqlite3/libsqlite/sqlite3.c pCur = pCur->pNext; pCur 55807 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur; pCur 55809 ext/sqlite3/libsqlite/sqlite3.c for(pCur=pBt->pCursor; pCur; pCur=pCur->pNext){ pCur 55810 ext/sqlite3/libsqlite/sqlite3.c if( (wrOnly==0 || (pCur->curFlags & BTCF_WriteFlag)!=0) pCur 55811 ext/sqlite3/libsqlite/sqlite3.c && pCur->eState!=CURSOR_FAULT ) r++; pCur 56884 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur /* Space for new cursor */ pCur 56917 ext/sqlite3/libsqlite/sqlite3.c pCur->pgnoRoot = (Pgno)iTable; pCur 56918 ext/sqlite3/libsqlite/sqlite3.c pCur->iPage = -1; pCur 56919 ext/sqlite3/libsqlite/sqlite3.c pCur->pKeyInfo = pKeyInfo; pCur 56920 ext/sqlite3/libsqlite/sqlite3.c pCur->pBtree = p; pCur 56921 ext/sqlite3/libsqlite/sqlite3.c pCur->pBt = pBt; pCur 56923 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags = wrFlag; pCur 56924 ext/sqlite3/libsqlite/sqlite3.c pCur->pNext = pBt->pCursor; pCur 56925 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pNext ){ pCur 56926 ext/sqlite3/libsqlite/sqlite3.c pCur->pNext->pPrev = pCur; pCur 56928 ext/sqlite3/libsqlite/sqlite3.c pBt->pCursor = pCur; pCur 56929 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 56937 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur /* Write new cursor here */ pCur 56941 ext/sqlite3/libsqlite/sqlite3.c rc = btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur); pCur 56974 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ pCur 56975 ext/sqlite3/libsqlite/sqlite3.c Btree *pBtree = pCur->pBtree; pCur 56978 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pCur->pBt; pCur 56980 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClearCursor(pCur); pCur 56981 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pPrev ){ pCur 56982 ext/sqlite3/libsqlite/sqlite3.c pCur->pPrev->pNext = pCur->pNext; pCur 56984 ext/sqlite3/libsqlite/sqlite3.c pBt->pCursor = pCur->pNext; pCur 56986 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pNext ){ pCur 56987 ext/sqlite3/libsqlite/sqlite3.c pCur->pNext->pPrev = pCur->pPrev; pCur 56989 ext/sqlite3/libsqlite/sqlite3.c for(i=0; i<=pCur->iPage; i++){ pCur 56990 ext/sqlite3/libsqlite/sqlite3.c releasePage(pCur->apPage[i]); pCur 56993 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pCur->aOverflow); pCur 57016 ext/sqlite3/libsqlite/sqlite3.c static void assertCellInfo(BtCursor *pCur){ pCur 57018 ext/sqlite3/libsqlite/sqlite3.c int iPage = pCur->iPage; pCur 57020 ext/sqlite3/libsqlite/sqlite3.c btreeParseCell(pCur->apPage[iPage], pCur->aiIdx[iPage], &info); pCur 57021 ext/sqlite3/libsqlite/sqlite3.c assert( CORRUPT_DB || memcmp(&info, &pCur->info, sizeof(info))==0 ); pCur 57028 ext/sqlite3/libsqlite/sqlite3.c static void getCellInfo(BtCursor *pCur){ pCur 57029 ext/sqlite3/libsqlite/sqlite3.c if( pCur->info.nSize==0 ){ pCur 57030 ext/sqlite3/libsqlite/sqlite3.c int iPage = pCur->iPage; pCur 57031 ext/sqlite3/libsqlite/sqlite3.c btreeParseCell(pCur->apPage[iPage],pCur->aiIdx[iPage],&pCur->info); pCur 57032 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags |= BTCF_ValidNKey; pCur 57034 ext/sqlite3/libsqlite/sqlite3.c assertCellInfo(pCur); pCur 57039 ext/sqlite3/libsqlite/sqlite3.c #define getCellInfo(pCur) \ pCur 57040 ext/sqlite3/libsqlite/sqlite3.c if( pCur->info.nSize==0 ){ \ pCur 57041 ext/sqlite3/libsqlite/sqlite3.c int iPage = pCur->iPage; \ pCur 57042 ext/sqlite3/libsqlite/sqlite3.c btreeParseCell(pCur->apPage[iPage],pCur->aiIdx[iPage],&pCur->info); \ pCur 57043 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags |= BTCF_ValidNKey; \ pCur 57045 ext/sqlite3/libsqlite/sqlite3.c assertCellInfo(pCur); \ pCur 57055 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeCursorIsValid(BtCursor *pCur){ pCur 57056 ext/sqlite3/libsqlite/sqlite3.c return pCur && pCur->eState==CURSOR_VALID; pCur 57072 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeKeySize(BtCursor *pCur, i64 *pSize){ pCur 57073 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57074 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57075 ext/sqlite3/libsqlite/sqlite3.c getCellInfo(pCur); pCur 57076 ext/sqlite3/libsqlite/sqlite3.c *pSize = pCur->info.nKey; pCur 57092 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeDataSize(BtCursor *pCur, u32 *pSize){ pCur 57093 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57094 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57095 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage>=0 ); pCur 57096 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage<BTCURSOR_MAX_DEPTH ); pCur 57097 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->apPage[pCur->iPage]->intKeyLeaf==1 ); pCur 57098 ext/sqlite3/libsqlite/sqlite3.c getCellInfo(pCur); pCur 57099 ext/sqlite3/libsqlite/sqlite3.c *pSize = pCur->info.nPayload; pCur 57242 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur, /* Cursor pointing to entry to read from */ pCur 57251 ext/sqlite3/libsqlite/sqlite3.c MemPage *pPage = pCur->apPage[pCur->iPage]; /* Btree page of current entry */ pCur 57252 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pCur->pBt; /* Btree this cursor belongs to */ pCur 57259 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57260 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[pCur->iPage]<pPage->nCell ); pCur 57261 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57264 ext/sqlite3/libsqlite/sqlite3.c getCellInfo(pCur); pCur 57265 ext/sqlite3/libsqlite/sqlite3.c aPayload = pCur->info.pPayload; pCur 57267 ext/sqlite3/libsqlite/sqlite3.c bEnd = offset+amt==pCur->info.nPayload; pCur 57269 ext/sqlite3/libsqlite/sqlite3.c assert( offset+amt <= pCur->info.nPayload ); pCur 57271 ext/sqlite3/libsqlite/sqlite3.c if( &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ){ pCur 57277 ext/sqlite3/libsqlite/sqlite3.c if( offset<pCur->info.nLocal ){ pCur 57279 ext/sqlite3/libsqlite/sqlite3.c if( a+offset>pCur->info.nLocal ){ pCur 57280 ext/sqlite3/libsqlite/sqlite3.c a = pCur->info.nLocal - offset; pCur 57287 ext/sqlite3/libsqlite/sqlite3.c offset -= pCur->info.nLocal; pCur 57295 ext/sqlite3/libsqlite/sqlite3.c nextPage = get4byte(&aPayload[pCur->info.nLocal]); pCur 57305 ext/sqlite3/libsqlite/sqlite3.c if( eOp!=2 && (pCur->curFlags & BTCF_ValidOvfl)==0 ){ pCur 57306 ext/sqlite3/libsqlite/sqlite3.c int nOvfl = (pCur->info.nPayload-pCur->info.nLocal+ovflSize-1)/ovflSize; pCur 57307 ext/sqlite3/libsqlite/sqlite3.c if( nOvfl>pCur->nOvflAlloc ){ pCur 57309 ext/sqlite3/libsqlite/sqlite3.c pCur->aOverflow, nOvfl*2*sizeof(Pgno) pCur 57314 ext/sqlite3/libsqlite/sqlite3.c pCur->nOvflAlloc = nOvfl*2; pCur 57315 ext/sqlite3/libsqlite/sqlite3.c pCur->aOverflow = aNew; pCur 57319 ext/sqlite3/libsqlite/sqlite3.c memset(pCur->aOverflow, 0, nOvfl*sizeof(Pgno)); pCur 57320 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags |= BTCF_ValidOvfl; pCur 57328 ext/sqlite3/libsqlite/sqlite3.c if( (pCur->curFlags & BTCF_ValidOvfl)!=0 pCur 57329 ext/sqlite3/libsqlite/sqlite3.c && pCur->aOverflow[offset/ovflSize] pCur 57332 ext/sqlite3/libsqlite/sqlite3.c nextPage = pCur->aOverflow[iIdx]; pCur 57339 ext/sqlite3/libsqlite/sqlite3.c if( (pCur->curFlags & BTCF_ValidOvfl)!=0 ){ pCur 57340 ext/sqlite3/libsqlite/sqlite3.c assert(!pCur->aOverflow[iIdx] || pCur->aOverflow[iIdx]==nextPage); pCur 57341 ext/sqlite3/libsqlite/sqlite3.c pCur->aOverflow[iIdx] = nextPage; pCur 57355 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->curFlags & BTCF_ValidOvfl ); pCur 57356 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pBtree->db==pBt->db ); pCur 57357 ext/sqlite3/libsqlite/sqlite3.c if( pCur->aOverflow[iIdx+1] ){ pCur 57358 ext/sqlite3/libsqlite/sqlite3.c nextPage = pCur->aOverflow[iIdx+1]; pCur 57445 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeKey(BtCursor *pCur, u32 offset, u32 amt, void *pBuf){ pCur 57446 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57447 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57448 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] ); pCur 57449 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell ); pCur 57450 ext/sqlite3/libsqlite/sqlite3.c return accessPayload(pCur, offset, amt, (unsigned char*)pBuf, 0); pCur 57462 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeData(BtCursor *pCur, u32 offset, u32 amt, void *pBuf){ pCur 57466 ext/sqlite3/libsqlite/sqlite3.c if ( pCur->eState==CURSOR_INVALID ){ pCur 57471 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57472 ext/sqlite3/libsqlite/sqlite3.c rc = restoreCursorPosition(pCur); pCur 57474 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57475 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] ); pCur 57476 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell ); pCur 57477 ext/sqlite3/libsqlite/sqlite3.c rc = accessPayload(pCur, offset, amt, pBuf, 0); pCur 57502 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur, /* Cursor pointing to entry to read from */ pCur 57506 ext/sqlite3/libsqlite/sqlite3.c assert( pCur!=0 && pCur->iPage>=0 && pCur->apPage[pCur->iPage]); pCur 57507 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57508 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); pCur 57509 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57510 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell ); pCur 57511 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->info.nSize>0 ); pCur 57512 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->info.pPayload>pCur->apPage[pCur->iPage]->aData || CORRUPT_DB ); pCur 57513 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->info.pPayload<pCur->apPage[pCur->iPage]->aDataEnd ||CORRUPT_DB); pCur 57514 ext/sqlite3/libsqlite/sqlite3.c amt = (int)(pCur->apPage[pCur->iPage]->aDataEnd - pCur->info.pPayload); pCur 57515 ext/sqlite3/libsqlite/sqlite3.c if( pCur->info.nLocal<amt ) amt = pCur->info.nLocal; pCur 57517 ext/sqlite3/libsqlite/sqlite3.c return (void*)pCur->info.pPayload; pCur 57535 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE const void *sqlite3BtreeKeyFetch(BtCursor *pCur, u32 *pAmt){ pCur 57536 ext/sqlite3/libsqlite/sqlite3.c return fetchPayload(pCur, pAmt); pCur 57538 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE const void *sqlite3BtreeDataFetch(BtCursor *pCur, u32 *pAmt){ pCur 57539 ext/sqlite3/libsqlite/sqlite3.c return fetchPayload(pCur, pAmt); pCur 57552 ext/sqlite3/libsqlite/sqlite3.c static int moveToChild(BtCursor *pCur, u32 newPgno){ pCur 57554 ext/sqlite3/libsqlite/sqlite3.c int i = pCur->iPage; pCur 57556 ext/sqlite3/libsqlite/sqlite3.c BtShared *pBt = pCur->pBt; pCur 57558 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57559 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57560 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage<BTCURSOR_MAX_DEPTH ); pCur 57561 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage>=0 ); pCur 57562 ext/sqlite3/libsqlite/sqlite3.c if( pCur->iPage>=(BTCURSOR_MAX_DEPTH-1) ){ pCur 57566 ext/sqlite3/libsqlite/sqlite3.c (pCur->curFlags & BTCF_WriteFlag)==0 ? PAGER_GET_READONLY : 0); pCur 57568 ext/sqlite3/libsqlite/sqlite3.c pCur->apPage[i+1] = pNewPage; pCur 57569 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[i+1] = 0; pCur 57570 ext/sqlite3/libsqlite/sqlite3.c pCur->iPage++; pCur 57572 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nSize = 0; pCur 57573 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); pCur 57574 ext/sqlite3/libsqlite/sqlite3.c if( pNewPage->nCell<1 || pNewPage->intKey!=pCur->apPage[i]->intKey ){ pCur 57610 ext/sqlite3/libsqlite/sqlite3.c static void moveToParent(BtCursor *pCur){ pCur 57611 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57612 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57613 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage>0 ); pCur 57614 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->apPage[pCur->iPage] ); pCur 57616 ext/sqlite3/libsqlite/sqlite3.c pCur->apPage[pCur->iPage-1], pCur 57617 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage-1], pCur 57618 ext/sqlite3/libsqlite/sqlite3.c pCur->apPage[pCur->iPage]->pgno pCur 57620 ext/sqlite3/libsqlite/sqlite3.c testcase( pCur->aiIdx[pCur->iPage-1] > pCur->apPage[pCur->iPage-1]->nCell ); pCur 57622 ext/sqlite3/libsqlite/sqlite3.c releasePage(pCur->apPage[pCur->iPage]); pCur 57623 ext/sqlite3/libsqlite/sqlite3.c pCur->iPage--; pCur 57624 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nSize = 0; pCur 57625 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); pCur 57649 ext/sqlite3/libsqlite/sqlite3.c static int moveToRoot(BtCursor *pCur){ pCur 57653 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57657 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState>=CURSOR_REQUIRESEEK ){ pCur 57658 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState==CURSOR_FAULT ){ pCur 57659 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->skipNext!=SQLITE_OK ); pCur 57660 ext/sqlite3/libsqlite/sqlite3.c return pCur->skipNext; pCur 57662 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeClearCursor(pCur); pCur 57665 ext/sqlite3/libsqlite/sqlite3.c if( pCur->iPage>=0 ){ pCur 57666 ext/sqlite3/libsqlite/sqlite3.c while( pCur->iPage ) releasePage(pCur->apPage[pCur->iPage--]); pCur 57667 ext/sqlite3/libsqlite/sqlite3.c }else if( pCur->pgnoRoot==0 ){ pCur 57668 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 57671 ext/sqlite3/libsqlite/sqlite3.c rc = getAndInitPage(pCur->pBtree->pBt, pCur->pgnoRoot, &pCur->apPage[0], pCur 57672 ext/sqlite3/libsqlite/sqlite3.c (pCur->curFlags & BTCF_WriteFlag)==0 ? PAGER_GET_READONLY : 0); pCur 57674 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 57677 ext/sqlite3/libsqlite/sqlite3.c pCur->iPage = 0; pCur 57679 ext/sqlite3/libsqlite/sqlite3.c pRoot = pCur->apPage[0]; pCur 57680 ext/sqlite3/libsqlite/sqlite3.c assert( pRoot->pgno==pCur->pgnoRoot ); pCur 57693 ext/sqlite3/libsqlite/sqlite3.c if( pRoot->isInit==0 || (pCur->pKeyInfo==0)!=pRoot->intKey ){ pCur 57697 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[0] = 0; pCur 57698 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nSize = 0; pCur 57699 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~(BTCF_AtLast|BTCF_ValidNKey|BTCF_ValidOvfl); pCur 57702 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_VALID; pCur 57707 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_VALID; pCur 57708 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, subpage); pCur 57710 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 57722 ext/sqlite3/libsqlite/sqlite3.c static int moveToLeftmost(BtCursor *pCur){ pCur 57727 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57728 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57729 ext/sqlite3/libsqlite/sqlite3.c while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){ pCur 57730 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[pCur->iPage]<pPage->nCell ); pCur 57731 ext/sqlite3/libsqlite/sqlite3.c pgno = get4byte(findCell(pPage, pCur->aiIdx[pCur->iPage])); pCur 57732 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, pgno); pCur 57747 ext/sqlite3/libsqlite/sqlite3.c static int moveToRightmost(BtCursor *pCur){ pCur 57752 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57753 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57754 ext/sqlite3/libsqlite/sqlite3.c while( !(pPage = pCur->apPage[pCur->iPage])->leaf ){ pCur 57756 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = pPage->nCell; pCur 57757 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, pgno); pCur 57760 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = pPage->nCell-1; pCur 57761 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->info.nSize==0 ); pCur 57762 ext/sqlite3/libsqlite/sqlite3.c assert( (pCur->curFlags & BTCF_ValidNKey)==0 ); pCur 57770 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor *pCur, int *pRes){ pCur 57773 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57774 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); pCur 57775 ext/sqlite3/libsqlite/sqlite3.c rc = moveToRoot(pCur); pCur 57777 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState==CURSOR_INVALID ){ pCur 57778 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 ); pCur 57781 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->apPage[pCur->iPage]->nCell>0 ); pCur 57783 ext/sqlite3/libsqlite/sqlite3.c rc = moveToLeftmost(pCur); pCur 57793 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor *pCur, int *pRes){ pCur 57796 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57797 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); pCur 57800 ext/sqlite3/libsqlite/sqlite3.c if( CURSOR_VALID==pCur->eState && (pCur->curFlags & BTCF_AtLast)!=0 ){ pCur 57805 ext/sqlite3/libsqlite/sqlite3.c for(ii=0; ii<pCur->iPage; ii++){ pCur 57806 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[ii]==pCur->apPage[ii]->nCell ); pCur 57808 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[pCur->iPage]==pCur->apPage[pCur->iPage]->nCell-1 ); pCur 57809 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->apPage[pCur->iPage]->leaf ); pCur 57814 ext/sqlite3/libsqlite/sqlite3.c rc = moveToRoot(pCur); pCur 57816 ext/sqlite3/libsqlite/sqlite3.c if( CURSOR_INVALID==pCur->eState ){ pCur 57817 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 ); pCur 57820 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID ); pCur 57822 ext/sqlite3/libsqlite/sqlite3.c rc = moveToRightmost(pCur); pCur 57824 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags |= BTCF_AtLast; pCur 57826 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~BTCF_AtLast; pCur 57863 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur, /* The cursor to be moved */ pCur 57872 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 57873 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); pCur 57875 ext/sqlite3/libsqlite/sqlite3.c assert( (pIdxKey==0)==(pCur->pKeyInfo==0) ); pCur 57879 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState==CURSOR_VALID && (pCur->curFlags & BTCF_ValidNKey)!=0 pCur 57880 ext/sqlite3/libsqlite/sqlite3.c && pCur->apPage[0]->intKey pCur 57882 ext/sqlite3/libsqlite/sqlite3.c if( pCur->info.nKey==intKey ){ pCur 57886 ext/sqlite3/libsqlite/sqlite3.c if( (pCur->curFlags & BTCF_AtLast)!=0 && pCur->info.nKey<intKey ){ pCur 57903 ext/sqlite3/libsqlite/sqlite3.c rc = moveToRoot(pCur); pCur 57907 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage] ); pCur 57908 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->isInit ); pCur 57909 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_INVALID || pCur->apPage[pCur->iPage]->nCell>0 ); pCur 57910 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState==CURSOR_INVALID ){ pCur 57912 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 ); pCur 57915 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->apPage[0]->intKey || pIdxKey ); pCur 57919 ext/sqlite3/libsqlite/sqlite3.c MemPage *pPage = pCur->apPage[pCur->iPage]; pCur 57934 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = (u16)idx; pCur 57953 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags |= BTCF_ValidNKey; pCur 57954 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nKey = nCellKey; pCur 57955 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = (u16)idx; pCur 58002 ext/sqlite3/libsqlite/sqlite3.c btreeParseCellPtr(pPage, pCellBody, &pCur->info); pCur 58003 ext/sqlite3/libsqlite/sqlite3.c nCell = (int)pCur->info.nKey; pCur 58009 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = (u16)idx; pCur 58010 ext/sqlite3/libsqlite/sqlite3.c rc = accessPayload(pCur, 0, nCell, (unsigned char*)pCellKey, 2); pCur 58020 ext/sqlite3/libsqlite/sqlite3.c && (pIdxKey->errCode!=SQLITE_NOMEM || pCur->pBtree->db->mallocFailed) pCur 58030 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = (u16)idx; pCur 58042 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell ); pCur 58043 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = (u16)idx; pCur 58054 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage] = (u16)lwr; pCur 58055 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, chldPg); pCur 58059 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nSize = 0; pCur 58060 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); pCur 58072 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor *pCur){ pCur 58077 ext/sqlite3/libsqlite/sqlite3.c return (CURSOR_VALID!=pCur->eState); pCur 58101 ext/sqlite3/libsqlite/sqlite3.c static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ pCur 58106 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 58107 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); pCur 58109 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState!=CURSOR_VALID ){ pCur 58110 ext/sqlite3/libsqlite/sqlite3.c assert( (pCur->curFlags & BTCF_ValidOvfl)==0 ); pCur 58111 ext/sqlite3/libsqlite/sqlite3.c rc = restoreCursorPosition(pCur); pCur 58115 ext/sqlite3/libsqlite/sqlite3.c if( CURSOR_INVALID==pCur->eState ){ pCur 58119 ext/sqlite3/libsqlite/sqlite3.c if( pCur->skipNext ){ pCur 58120 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_SKIPNEXT ); pCur 58121 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_VALID; pCur 58122 ext/sqlite3/libsqlite/sqlite3.c if( pCur->skipNext>0 ){ pCur 58123 ext/sqlite3/libsqlite/sqlite3.c pCur->skipNext = 0; pCur 58126 ext/sqlite3/libsqlite/sqlite3.c pCur->skipNext = 0; pCur 58130 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 58131 ext/sqlite3/libsqlite/sqlite3.c idx = ++pCur->aiIdx[pCur->iPage]; pCur 58143 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8])); pCur 58145 ext/sqlite3/libsqlite/sqlite3.c return moveToLeftmost(pCur); pCur 58148 ext/sqlite3/libsqlite/sqlite3.c if( pCur->iPage==0 ){ pCur 58150 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 58153 ext/sqlite3/libsqlite/sqlite3.c moveToParent(pCur); pCur 58154 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 58155 ext/sqlite3/libsqlite/sqlite3.c }while( pCur->aiIdx[pCur->iPage]>=pPage->nCell ); pCur 58157 ext/sqlite3/libsqlite/sqlite3.c return sqlite3BtreeNext(pCur, pRes); pCur 58165 ext/sqlite3/libsqlite/sqlite3.c return moveToLeftmost(pCur); pCur 58168 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ pCur 58170 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 58173 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); pCur 58174 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nSize = 0; pCur 58175 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); pCur 58177 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState!=CURSOR_VALID ) return btreeNext(pCur, pRes); pCur 58178 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 58179 ext/sqlite3/libsqlite/sqlite3.c if( (++pCur->aiIdx[pCur->iPage])>=pPage->nCell ){ pCur 58180 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage]--; pCur 58181 ext/sqlite3/libsqlite/sqlite3.c return btreeNext(pCur, pRes); pCur 58186 ext/sqlite3/libsqlite/sqlite3.c return moveToLeftmost(pCur); pCur 58211 ext/sqlite3/libsqlite/sqlite3.c static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur, int *pRes){ pCur 58215 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 58218 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); pCur 58219 ext/sqlite3/libsqlite/sqlite3.c assert( (pCur->curFlags & (BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey))==0 ); pCur 58220 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->info.nSize==0 ); pCur 58221 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState!=CURSOR_VALID ){ pCur 58222 ext/sqlite3/libsqlite/sqlite3.c rc = restoreCursorPosition(pCur); pCur 58226 ext/sqlite3/libsqlite/sqlite3.c if( CURSOR_INVALID==pCur->eState ){ pCur 58230 ext/sqlite3/libsqlite/sqlite3.c if( pCur->skipNext ){ pCur 58231 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_SKIPNEXT ); pCur 58232 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_VALID; pCur 58233 ext/sqlite3/libsqlite/sqlite3.c if( pCur->skipNext<0 ){ pCur 58234 ext/sqlite3/libsqlite/sqlite3.c pCur->skipNext = 0; pCur 58237 ext/sqlite3/libsqlite/sqlite3.c pCur->skipNext = 0; pCur 58241 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 58244 ext/sqlite3/libsqlite/sqlite3.c int idx = pCur->aiIdx[pCur->iPage]; pCur 58245 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, get4byte(findCell(pPage, idx))); pCur 58247 ext/sqlite3/libsqlite/sqlite3.c rc = moveToRightmost(pCur); pCur 58249 ext/sqlite3/libsqlite/sqlite3.c while( pCur->aiIdx[pCur->iPage]==0 ){ pCur 58250 ext/sqlite3/libsqlite/sqlite3.c if( pCur->iPage==0 ){ pCur 58251 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 58255 ext/sqlite3/libsqlite/sqlite3.c moveToParent(pCur); pCur 58257 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->info.nSize==0 ); pCur 58258 ext/sqlite3/libsqlite/sqlite3.c assert( (pCur->curFlags & (BTCF_ValidNKey|BTCF_ValidOvfl))==0 ); pCur 58260 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage]--; pCur 58261 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 58263 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreePrevious(pCur, pRes); pCur 58270 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ pCur 58271 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 58274 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); pCur 58276 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~(BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey); pCur 58277 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nSize = 0; pCur 58278 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState!=CURSOR_VALID pCur 58279 ext/sqlite3/libsqlite/sqlite3.c || pCur->aiIdx[pCur->iPage]==0 pCur 58280 ext/sqlite3/libsqlite/sqlite3.c || pCur->apPage[pCur->iPage]->leaf==0 pCur 58282 ext/sqlite3/libsqlite/sqlite3.c return btreePrevious(pCur, pRes); pCur 58284 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage]--; pCur 60462 ext/sqlite3/libsqlite/sqlite3.c static int balance(BtCursor *pCur){ pCur 60464 ext/sqlite3/libsqlite/sqlite3.c const int nMin = pCur->pBt->usableSize * 2 / 3; pCur 60472 ext/sqlite3/libsqlite/sqlite3.c int iPage = pCur->iPage; pCur 60473 ext/sqlite3/libsqlite/sqlite3.c MemPage *pPage = pCur->apPage[iPage]; pCur 60483 ext/sqlite3/libsqlite/sqlite3.c rc = balance_deeper(pPage, &pCur->apPage[1]); pCur 60485 ext/sqlite3/libsqlite/sqlite3.c pCur->iPage = 1; pCur 60486 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[0] = 0; pCur 60487 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[1] = 0; pCur 60488 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->apPage[1]->nOverflow ); pCur 60496 ext/sqlite3/libsqlite/sqlite3.c MemPage * const pParent = pCur->apPage[iPage-1]; pCur 60497 ext/sqlite3/libsqlite/sqlite3.c int const iIdx = pCur->aiIdx[iPage-1]; pCur 60543 ext/sqlite3/libsqlite/sqlite3.c u8 *pSpace = sqlite3PageMalloc(pCur->pBt->pageSize); pCur 60545 ext/sqlite3/libsqlite/sqlite3.c pCur->hints&BTREE_BULKLOAD); pCur 60565 ext/sqlite3/libsqlite/sqlite3.c pCur->iPage--; pCur 60566 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iPage>=0 ); pCur 60600 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur, /* Insert data into the table of this cursor */ pCur 60612 ext/sqlite3/libsqlite/sqlite3.c Btree *p = pCur->pBtree; pCur 60617 ext/sqlite3/libsqlite/sqlite3.c if( pCur->eState==CURSOR_FAULT ){ pCur 60618 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->skipNext!=SQLITE_OK ); pCur 60619 ext/sqlite3/libsqlite/sqlite3.c return pCur->skipNext; pCur 60622 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 60623 ext/sqlite3/libsqlite/sqlite3.c assert( (pCur->curFlags & BTCF_WriteFlag)!=0 pCur 60626 ext/sqlite3/libsqlite/sqlite3.c assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) ); pCur 60633 ext/sqlite3/libsqlite/sqlite3.c assert( (pKey==0)==(pCur->pKeyInfo==0) ); pCur 60646 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur); pCur 60649 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pKeyInfo==0 ){ pCur 60657 ext/sqlite3/libsqlite/sqlite3.c if( (pCur->curFlags&BTCF_ValidNKey)!=0 && nKey>0 pCur 60658 ext/sqlite3/libsqlite/sqlite3.c && pCur->info.nKey==nKey-1 ){ pCur 60664 ext/sqlite3/libsqlite/sqlite3.c rc = btreeMoveto(pCur, pKey, nKey, appendBias, &loc); pCur 60667 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->eState==CURSOR_VALID || (pCur->eState==CURSOR_INVALID && loc) ); pCur 60669 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 60674 ext/sqlite3/libsqlite/sqlite3.c pCur->pgnoRoot, nKey, nData, pPage->pgno, pCur 60683 ext/sqlite3/libsqlite/sqlite3.c idx = pCur->aiIdx[pCur->iPage]; pCur 60700 ext/sqlite3/libsqlite/sqlite3.c idx = ++pCur->aiIdx[pCur->iPage]; pCur 60727 ext/sqlite3/libsqlite/sqlite3.c pCur->info.nSize = 0; pCur 60729 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags &= ~(BTCF_ValidNKey); pCur 60730 ext/sqlite3/libsqlite/sqlite3.c rc = balance(pCur); pCur 60736 ext/sqlite3/libsqlite/sqlite3.c pCur->apPage[pCur->iPage]->nOverflow = 0; pCur 60737 ext/sqlite3/libsqlite/sqlite3.c pCur->eState = CURSOR_INVALID; pCur 60739 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->apPage[pCur->iPage]->nOverflow==0 ); pCur 60749 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur){ pCur 60750 ext/sqlite3/libsqlite/sqlite3.c Btree *p = pCur->pBtree; pCur 60759 ext/sqlite3/libsqlite/sqlite3.c assert( cursorHoldsMutex(pCur) ); pCur 60762 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->curFlags & BTCF_WriteFlag ); pCur 60763 ext/sqlite3/libsqlite/sqlite3.c assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) ); pCur 60764 ext/sqlite3/libsqlite/sqlite3.c assert( !hasReadConflicts(p, pCur->pgnoRoot) ); pCur 60766 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(pCur->aiIdx[pCur->iPage]>=pCur->apPage[pCur->iPage]->nCell) pCur 60767 ext/sqlite3/libsqlite/sqlite3.c || NEVER(pCur->eState!=CURSOR_VALID) pCur 60772 ext/sqlite3/libsqlite/sqlite3.c iCellDepth = pCur->iPage; pCur 60773 ext/sqlite3/libsqlite/sqlite3.c iCellIdx = pCur->aiIdx[iCellDepth]; pCur 60774 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[iCellDepth]; pCur 60786 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreePrevious(pCur, ¬Used); pCur 60795 ext/sqlite3/libsqlite/sqlite3.c rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur); pCur 60800 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pKeyInfo==0 ){ pCur 60801 ext/sqlite3/libsqlite/sqlite3.c invalidateIncrblobCursors(p, pCur->info.nKey, 0); pCur 60816 ext/sqlite3/libsqlite/sqlite3.c MemPage *pLeaf = pCur->apPage[pCur->iPage]; pCur 60818 ext/sqlite3/libsqlite/sqlite3.c Pgno n = pCur->apPage[iCellDepth+1]->pgno; pCur 60847 ext/sqlite3/libsqlite/sqlite3.c rc = balance(pCur); pCur 60848 ext/sqlite3/libsqlite/sqlite3.c if( rc==SQLITE_OK && pCur->iPage>iCellDepth ){ pCur 60849 ext/sqlite3/libsqlite/sqlite3.c while( pCur->iPage>iCellDepth ){ pCur 60850 ext/sqlite3/libsqlite/sqlite3.c releasePage(pCur->apPage[pCur->iPage--]); pCur 60852 ext/sqlite3/libsqlite/sqlite3.c rc = balance(pCur); pCur 60856 ext/sqlite3/libsqlite/sqlite3.c moveToRoot(pCur); pCur 61116 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeClearTableOfCursor(BtCursor *pCur){ pCur 61117 ext/sqlite3/libsqlite/sqlite3.c return sqlite3BtreeClearTable(pCur->pBtree, pCur->pgnoRoot, 0); pCur 61335 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeCount(BtCursor *pCur, i64 *pnEntry){ pCur 61339 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pgnoRoot==0 ){ pCur 61343 ext/sqlite3/libsqlite/sqlite3.c rc = moveToRoot(pCur); pCur 61356 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 61373 ext/sqlite3/libsqlite/sqlite3.c if( pCur->iPage==0 ){ pCur 61376 ext/sqlite3/libsqlite/sqlite3.c return moveToRoot(pCur); pCur 61378 ext/sqlite3/libsqlite/sqlite3.c moveToParent(pCur); pCur 61379 ext/sqlite3/libsqlite/sqlite3.c }while ( pCur->aiIdx[pCur->iPage]>=pCur->apPage[pCur->iPage]->nCell ); pCur 61381 ext/sqlite3/libsqlite/sqlite3.c pCur->aiIdx[pCur->iPage]++; pCur 61382 ext/sqlite3/libsqlite/sqlite3.c pPage = pCur->apPage[pCur->iPage]; pCur 61388 ext/sqlite3/libsqlite/sqlite3.c iIdx = pCur->aiIdx[pCur->iPage]; pCur 61390 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8])); pCur 61392 ext/sqlite3/libsqlite/sqlite3.c rc = moveToChild(pCur, get4byte(findCell(pPage, iIdx))); pCur 62228 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3BtreeIncrblobCursor(BtCursor *pCur){ pCur 62229 ext/sqlite3/libsqlite/sqlite3.c pCur->curFlags |= BTCF_Incrblob; pCur 64037 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur, /* Cursor pointing at record to retrieve. */ pCur 64047 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3BtreeCursorIsValid(pCur) ); pCur 64054 ext/sqlite3/libsqlite/sqlite3.c zData = (char *)sqlite3BtreeKeyFetch(pCur, &available); pCur 64056 ext/sqlite3/libsqlite/sqlite3.c zData = (char *)sqlite3BtreeDataFetch(pCur, &available); pCur 64068 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeKey(pCur, offset, amt, pMem->z); pCur 64070 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeData(pCur, offset, amt, pMem->z); pCur 68773 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3 *db, BtCursor *pCur, i64 *rowid){ pCur 68786 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3BtreeCursorIsValid(pCur) ); pCur 68787 ext/sqlite3/libsqlite/sqlite3.c VVA_ONLY(rc =) sqlite3BtreeKeySize(pCur, &nCellKey); pCur 68793 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3VdbeMemFromBtree(pCur, 0, (u32)nCellKey, 1, &m); pCur 68859 ext/sqlite3/libsqlite/sqlite3.c BtCursor *pCur = pC->pCursor; pCur 68862 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3BtreeCursorIsValid(pCur) ); pCur 68863 ext/sqlite3/libsqlite/sqlite3.c VVA_ONLY(rc =) sqlite3BtreeKeySize(pCur, &nCellKey); pCur 74108 ext/sqlite3/libsqlite/sqlite3.c VdbeCursor *pCur; pCur 74113 ext/sqlite3/libsqlite/sqlite3.c pCur = p->apCsr[pOp->p1]; pCur 74114 ext/sqlite3/libsqlite/sqlite3.c if( pCur && pCur->pgnoRoot==(u32)pOp->p2 ){ pCur 74115 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->iDb==pOp->p3 ); /* Guaranteed by the code generator */ pCur 74180 ext/sqlite3/libsqlite/sqlite3.c pCur = allocateCursor(p, pOp->p1, nField, iDb, 1); pCur 74181 ext/sqlite3/libsqlite/sqlite3.c if( pCur==0 ) goto no_mem; pCur 74182 ext/sqlite3/libsqlite/sqlite3.c pCur->nullRow = 1; pCur 74183 ext/sqlite3/libsqlite/sqlite3.c pCur->isOrdered = 1; pCur 74184 ext/sqlite3/libsqlite/sqlite3.c pCur->pgnoRoot = p2; pCur 74185 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCursor(pX, p2, wrFlag, pKeyInfo, pCur->pCursor); pCur 74186 ext/sqlite3/libsqlite/sqlite3.c pCur->pKeyInfo = pKeyInfo; pCur 74191 ext/sqlite3/libsqlite/sqlite3.c pCur->isTable = pOp->p4type!=P4_KEYINFO; pCur 74196 ext/sqlite3/libsqlite/sqlite3.c sqlite3BtreeCursorHints(pCur->pCursor, pCur 76916 ext/sqlite3/libsqlite/sqlite3.c VdbeCursor *pCur; pCur 76922 ext/sqlite3/libsqlite/sqlite3.c pCur = 0; pCur 76937 ext/sqlite3/libsqlite/sqlite3.c pCur = allocateCursor(p, pOp->p1, 0, -1, 0); pCur 76938 ext/sqlite3/libsqlite/sqlite3.c if( pCur ){ pCur 76939 ext/sqlite3/libsqlite/sqlite3.c pCur->pVtabCursor = pVtabCursor; pCur 76979 ext/sqlite3/libsqlite/sqlite3.c VdbeCursor *pCur; pCur 76986 ext/sqlite3/libsqlite/sqlite3.c pCur = p->apCsr[pOp->p1]; pCur 76989 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pVtabCursor ); pCur 76990 ext/sqlite3/libsqlite/sqlite3.c pVtabCursor = pCur->pVtabCursor; pCur 77010 ext/sqlite3/libsqlite/sqlite3.c pCur->nullRow = 0; pCur 77031 ext/sqlite3/libsqlite/sqlite3.c VdbeCursor *pCur = p->apCsr[pOp->p1]; pCur 77032 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pVtabCursor ); pCur 77036 ext/sqlite3/libsqlite/sqlite3.c if( pCur->nullRow ){ pCur 77040 ext/sqlite3/libsqlite/sqlite3.c pVtab = pCur->pVtabCursor->pVtab; pCur 77046 ext/sqlite3/libsqlite/sqlite3.c rc = pModule->xColumn(pCur->pVtabCursor, &sContext, pOp->p2); pCur 77073 ext/sqlite3/libsqlite/sqlite3.c VdbeCursor *pCur; pCur 77076 ext/sqlite3/libsqlite/sqlite3.c pCur = p->apCsr[pOp->p1]; pCur 77077 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->pVtabCursor ); pCur 77078 ext/sqlite3/libsqlite/sqlite3.c if( pCur->nullRow ){ pCur 77081 ext/sqlite3/libsqlite/sqlite3.c pVtab = pCur->pVtabCursor->pVtab; pCur 77091 ext/sqlite3/libsqlite/sqlite3.c rc = pModule->xNext(pCur->pVtabCursor); pCur 77094 ext/sqlite3/libsqlite/sqlite3.c res = pModule->xEof(pCur->pVtabCursor); pCur 152112 ext/sqlite3/libsqlite/sqlite3.c static RtreeSearchPoint *rtreeSearchPointFirst(RtreeCursor *pCur){ pCur 152113 ext/sqlite3/libsqlite/sqlite3.c return pCur->bPoint ? &pCur->sPoint : pCur->nPoint ? pCur->aPoint : 0; pCur 152119 ext/sqlite3/libsqlite/sqlite3.c static RtreeNode *rtreeNodeOfFirstSearchPoint(RtreeCursor *pCur, int *pRC){ pCur 152121 ext/sqlite3/libsqlite/sqlite3.c int ii = 1 - pCur->bPoint; pCur 152123 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->bPoint || pCur->nPoint ); pCur 152124 ext/sqlite3/libsqlite/sqlite3.c if( pCur->aNode[ii]==0 ){ pCur 152126 ext/sqlite3/libsqlite/sqlite3.c id = ii ? pCur->aPoint[0].id : pCur->sPoint.id; pCur 152127 ext/sqlite3/libsqlite/sqlite3.c *pRC = nodeAcquire(RTREE_OF_CURSOR(pCur), id, 0, &pCur->aNode[ii]); pCur 152129 ext/sqlite3/libsqlite/sqlite3.c return pCur->aNode[ii]; pCur 152136 ext/sqlite3/libsqlite/sqlite3.c RtreeCursor *pCur, /* The cursor */ pCur 152142 ext/sqlite3/libsqlite/sqlite3.c if( pCur->nPoint>=pCur->nPointAlloc ){ pCur 152143 ext/sqlite3/libsqlite/sqlite3.c int nNew = pCur->nPointAlloc*2 + 8; pCur 152144 ext/sqlite3/libsqlite/sqlite3.c pNew = sqlite3_realloc(pCur->aPoint, nNew*sizeof(pCur->aPoint[0])); pCur 152146 ext/sqlite3/libsqlite/sqlite3.c pCur->aPoint = pNew; pCur 152147 ext/sqlite3/libsqlite/sqlite3.c pCur->nPointAlloc = nNew; pCur 152149 ext/sqlite3/libsqlite/sqlite3.c i = pCur->nPoint++; pCur 152150 ext/sqlite3/libsqlite/sqlite3.c pNew = pCur->aPoint + i; pCur 152157 ext/sqlite3/libsqlite/sqlite3.c pParent = pCur->aPoint + j; pCur 152159 ext/sqlite3/libsqlite/sqlite3.c rtreeSearchPointSwap(pCur, j, i); pCur 152171 ext/sqlite3/libsqlite/sqlite3.c RtreeCursor *pCur, /* The cursor */ pCur 152176 ext/sqlite3/libsqlite/sqlite3.c pFirst = rtreeSearchPointFirst(pCur); pCur 152177 ext/sqlite3/libsqlite/sqlite3.c pCur->anQueue[iLevel]++; pCur 152182 ext/sqlite3/libsqlite/sqlite3.c if( pCur->bPoint ){ pCur 152184 ext/sqlite3/libsqlite/sqlite3.c pNew = rtreeEnqueue(pCur, rScore, iLevel); pCur 152186 ext/sqlite3/libsqlite/sqlite3.c ii = (int)(pNew - pCur->aPoint) + 1; pCur 152188 ext/sqlite3/libsqlite/sqlite3.c assert( pCur->aNode[ii]==0 ); pCur 152189 ext/sqlite3/libsqlite/sqlite3.c pCur->aNode[ii] = pCur->aNode[0]; pCur 152191 ext/sqlite3/libsqlite/sqlite3.c nodeRelease(RTREE_OF_CURSOR(pCur), pCur->aNode[0]); pCur 152193 ext/sqlite3/libsqlite/sqlite3.c pCur->aNode[0] = 0; pCur 152194 ext/sqlite3/libsqlite/sqlite3.c *pNew = pCur->sPoint; pCur 152196 ext/sqlite3/libsqlite/sqlite3.c pCur->sPoint.rScore = rScore; pCur 152197 ext/sqlite3/libsqlite/sqlite3.c pCur->sPoint.iLevel = iLevel; pCur 152198 ext/sqlite3/libsqlite/sqlite3.c pCur->bPoint = 1; pCur 152199 ext/sqlite3/libsqlite/sqlite3.c return &pCur->sPoint; pCur 152201 ext/sqlite3/libsqlite/sqlite3.c return rtreeEnqueue(pCur, rScore, iLevel); pCur 152207 ext/sqlite3/libsqlite/sqlite3.c static void tracePoint(RtreeSearchPoint *p, int idx, RtreeCursor *pCur){ pCur 152214 ext/sqlite3/libsqlite/sqlite3.c printf(" %p\n", pCur->aNode[idx]); pCur 152219 ext/sqlite3/libsqlite/sqlite3.c static void traceQueue(RtreeCursor *pCur, const char *zPrefix){ pCur 152222 ext/sqlite3/libsqlite/sqlite3.c if( pCur->bPoint ){ pCur 152223 ext/sqlite3/libsqlite/sqlite3.c tracePoint(&pCur->sPoint, -1, pCur); pCur 152225 ext/sqlite3/libsqlite/sqlite3.c for(ii=0; ii<pCur->nPoint; ii++){ pCur 152226 ext/sqlite3/libsqlite/sqlite3.c if( ii>0 || pCur->bPoint ) printf(" "); pCur 152227 ext/sqlite3/libsqlite/sqlite3.c tracePoint(&pCur->aPoint[ii], ii, pCur); pCur 152285 ext/sqlite3/libsqlite/sqlite3.c static int rtreeStepToLeaf(RtreeCursor *pCur){ pCur 152287 ext/sqlite3/libsqlite/sqlite3.c Rtree *pRtree = RTREE_OF_CURSOR(pCur); pCur 152292 ext/sqlite3/libsqlite/sqlite3.c int nConstraint = pCur->nConstraint; pCur 152298 ext/sqlite3/libsqlite/sqlite3.c while( (p = rtreeSearchPointFirst(pCur))!=0 && p->iLevel>0 ){ pCur 152299 ext/sqlite3/libsqlite/sqlite3.c pNode = rtreeNodeOfFirstSearchPoint(pCur, &rc); pCur 152308 ext/sqlite3/libsqlite/sqlite3.c RtreeConstraint *pConstraint = pCur->aConstraint + ii; pCur 152331 ext/sqlite3/libsqlite/sqlite3.c RTREE_QUEUE_TRACE(pCur, "POP-S:"); pCur 152332 ext/sqlite3/libsqlite/sqlite3.c rtreeSearchPointPop(pCur); pCur 152335 ext/sqlite3/libsqlite/sqlite3.c p = rtreeSearchPointNew(pCur, rScore, x.iLevel); pCur 152340 ext/sqlite3/libsqlite/sqlite3.c RTREE_QUEUE_TRACE(pCur, "PUSH-S:"); pCur 152344 ext/sqlite3/libsqlite/sqlite3.c RTREE_QUEUE_TRACE(pCur, "POP-Se:"); pCur 152345 ext/sqlite3/libsqlite/sqlite3.c rtreeSearchPointPop(pCur); pCur 152348 ext/sqlite3/libsqlite/sqlite3.c pCur->atEOF = p==0; pCur 6525 ext/sqlite3/libsqlite/sqlite3.h SQLITE_API int SQLITE_STDCALL sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); pCur 548 sapi/litespeed/lsapilib.c struct lsapi_header_offset * pCur, *pEnd; pCur 549 sapi/litespeed/lsapilib.c pCur = pReq->m_pUnknownHeader; pCur 550 sapi/litespeed/lsapilib.c pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders; pCur 551 sapi/litespeed/lsapilib.c while( pCur < pEnd ) pCur 553 sapi/litespeed/lsapilib.c swapIntEndian( &pCur->nameOff ); pCur 554 sapi/litespeed/lsapilib.c swapIntEndian( &pCur->nameLen ); pCur 555 sapi/litespeed/lsapilib.c swapIntEndian( &pCur->valueOff ); pCur 556 sapi/litespeed/lsapilib.c swapIntEndian( &pCur->valueLen ); pCur 557 sapi/litespeed/lsapilib.c ++pCur; pCur 579 sapi/litespeed/lsapilib.c struct lsapi_header_offset * pCur, *pEnd; pCur 580 sapi/litespeed/lsapilib.c pCur = pReq->m_pUnknownHeader; pCur 581 sapi/litespeed/lsapilib.c pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders; pCur 582 sapi/litespeed/lsapilib.c while( pCur < pEnd ) pCur 584 sapi/litespeed/lsapilib.c if (pCur->nameOff > totalLen pCur 585 sapi/litespeed/lsapilib.c || pCur->nameOff + pCur->nameLen > totalLen pCur 586 sapi/litespeed/lsapilib.c || pCur->valueOff > totalLen pCur 587 sapi/litespeed/lsapilib.c || pCur->valueOff + pCur->valueLen > totalLen) pCur 589 sapi/litespeed/lsapilib.c ++pCur; pCur 1500 sapi/litespeed/lsapilib.c char * pCur; pCur 1519 sapi/litespeed/lsapilib.c pCur = pReq->m_pReqBuf + pReq->m_bufProcessed; pCur 1520 sapi/litespeed/lsapilib.c p = memchr( pCur, '\n', len ); pCur 1522 sapi/litespeed/lsapilib.c len = p - pCur + 1; pCur 1523 sapi/litespeed/lsapilib.c memmove( pBufCur, pCur, len ); pCur 1913 sapi/litespeed/lsapilib.c struct lsapi_header_offset * pCur, *pEnd; pCur 1914 sapi/litespeed/lsapilib.c pCur = pReq->m_pUnknownHeader; pCur 1915 sapi/litespeed/lsapilib.c pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders; pCur 1916 sapi/litespeed/lsapilib.c while( pCur < pEnd ) pCur 1918 sapi/litespeed/lsapilib.c pKey = pReq->m_pHttpHeader + pCur->nameOff; pCur 1919 sapi/litespeed/lsapilib.c keyLen = pCur->nameLen; pCur 1932 sapi/litespeed/lsapilib.c pValue = pReq->m_pHttpHeader + pCur->valueOff; pCur 1934 sapi/litespeed/lsapilib.c if ( *(pValue + pCur->valueLen) != '\0') pCur 1936 sapi/litespeed/lsapilib.c *(pValue + pCur->valueLen) = '\0'; pCur 1940 sapi/litespeed/lsapilib.c ++pCur; pCur 2019 sapi/litespeed/lsapilib.c struct lsapi_header_offset * pCur, *pEnd; pCur 2020 sapi/litespeed/lsapilib.c pCur = pReq->m_pUnknownHeader; pCur 2021 sapi/litespeed/lsapilib.c pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders; pCur 2022 sapi/litespeed/lsapilib.c while( pCur < pEnd ) pCur 2024 sapi/litespeed/lsapilib.c pKey = pReq->m_pHttpHeader + pCur->nameOff; pCur 2025 sapi/litespeed/lsapilib.c keyLen = pCur->nameLen; pCur 2028 sapi/litespeed/lsapilib.c pValue = pReq->m_pHttpHeader + pCur->valueOff; pCur 2029 sapi/litespeed/lsapilib.c *(pValue + pCur->valueLen ) = 0; pCur 2033 sapi/litespeed/lsapilib.c headers[count]._valueLen = pCur->valueLen; pCur 2041 sapi/litespeed/lsapilib.c ++pCur; pCur 2088 sapi/litespeed/lsapilib.c struct lsapi_header_offset * pCur, *pEnd; pCur 2089 sapi/litespeed/lsapilib.c pCur = pReq->m_pUnknownHeader; pCur 2090 sapi/litespeed/lsapilib.c pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders; pCur 2091 sapi/litespeed/lsapilib.c while( pCur < pEnd ) pCur 2093 sapi/litespeed/lsapilib.c pKey = pReq->m_pHttpHeader + pCur->nameOff; pCur 2094 sapi/litespeed/lsapilib.c keyLen = pCur->nameLen; pCur 2112 sapi/litespeed/lsapilib.c pValue = pReq->m_pHttpHeader + pCur->valueOff; pCur 2113 sapi/litespeed/lsapilib.c *(pValue + pCur->valueLen ) = 0; pCur 2115 sapi/litespeed/lsapilib.c pValue, pCur->valueLen, arg ); pCur 2118 sapi/litespeed/lsapilib.c ++pCur;