Lines Matching refs:pCsr

440   ZipfileCsr *pCsr;  in zipfileOpen()  local
441 pCsr = sqlite3_malloc(sizeof(*pCsr)); in zipfileOpen()
442 *ppCsr = (sqlite3_vtab_cursor*)pCsr; in zipfileOpen()
443 if( pCsr==0 ){ in zipfileOpen()
446 memset(pCsr, 0, sizeof(*pCsr)); in zipfileOpen()
447 pCsr->iId = ++pTab->iNextCsrid; in zipfileOpen()
448 pCsr->pCsrNext = pTab->pCsrList; in zipfileOpen()
449 pTab->pCsrList = pCsr; in zipfileOpen()
457 static void zipfileResetCursor(ZipfileCsr *pCsr){ in zipfileResetCursor() argument
461 pCsr->bEof = 0; in zipfileResetCursor()
462 if( pCsr->pFile ){ in zipfileResetCursor()
463 fclose(pCsr->pFile); in zipfileResetCursor()
464 pCsr->pFile = 0; in zipfileResetCursor()
465 zipfileEntryFree(pCsr->pCurrent); in zipfileResetCursor()
466 pCsr->pCurrent = 0; in zipfileResetCursor()
469 for(p=pCsr->pFreeEntry; p; p=pNext){ in zipfileResetCursor()
479 ZipfileCsr *pCsr = (ZipfileCsr*)cur; in zipfileClose() local
480 ZipfileTab *pTab = (ZipfileTab*)(pCsr->base.pVtab); in zipfileClose()
482 zipfileResetCursor(pCsr); in zipfileClose()
485 for(pp=&pTab->pCsrList; *pp!=pCsr; pp=&((*pp)->pCsrNext)); in zipfileClose()
486 *pp = pCsr->pCsrNext; in zipfileClose()
488 sqlite3_free(pCsr); in zipfileClose()
503 static void zipfileCursorErr(ZipfileCsr *pCsr, const char *zFmt, ...){ in zipfileCursorErr() argument
506 sqlite3_free(pCsr->base.pVtab->zErrMsg); in zipfileCursorErr()
507 pCsr->base.pVtab->zErrMsg = sqlite3_vmprintf(zFmt, ap); in zipfileCursorErr()
899 ZipfileCsr *pCsr = (ZipfileCsr*)cur; in zipfileNext() local
902 if( pCsr->pFile ){ in zipfileNext()
903 i64 iEof = pCsr->eocd.iOffset + pCsr->eocd.nSize; in zipfileNext()
904 zipfileEntryFree(pCsr->pCurrent); in zipfileNext()
905 pCsr->pCurrent = 0; in zipfileNext()
906 if( pCsr->iNextOff>=iEof ){ in zipfileNext()
907 pCsr->bEof = 1; in zipfileNext()
911 rc = zipfileGetEntry(pTab, 0, 0, pCsr->pFile, pCsr->iNextOff, &p); in zipfileNext()
913 pCsr->iNextOff += ZIPFILE_CDS_FIXED_SZ; in zipfileNext()
914 pCsr->iNextOff += (int)p->cds.nExtra + p->cds.nFile + p->cds.nComment; in zipfileNext()
916 pCsr->pCurrent = p; in zipfileNext()
919 if( !pCsr->bNoop ){ in zipfileNext()
920 pCsr->pCurrent = pCsr->pCurrent->pNext; in zipfileNext()
922 if( pCsr->pCurrent==0 ){ in zipfileNext()
923 pCsr->bEof = 1; in zipfileNext()
927 pCsr->bNoop = 0; in zipfileNext()
1038 ZipfileCsr *pCsr = (ZipfileCsr*)cur; in zipfileColumn() local
1039 ZipfileCDS *pCDS = &pCsr->pCurrent->cds; in zipfileColumn()
1051 sqlite3_result_int64(ctx, pCsr->pCurrent->mUnixTime); in zipfileColumn()
1069 if( pCsr->pCurrent->aData ){ in zipfileColumn()
1070 aBuf = pCsr->pCurrent->aData; in zipfileColumn()
1076 FILE *pFile = pCsr->pFile; in zipfileColumn()
1078 pFile = ((ZipfileTab*)(pCsr->base.pVtab))->pWriteFd; in zipfileColumn()
1080 rc = zipfileReadData(pFile, aBuf, sz, pCsr->pCurrent->iDataOff, in zipfileColumn()
1081 &pCsr->base.pVtab->zErrMsg in zipfileColumn()
1110 sqlite3_result_int64(ctx, pCsr->iId); in zipfileColumn()
1121 ZipfileCsr *pCsr = (ZipfileCsr*)cur; in zipfileEof() local
1122 return pCsr->bEof; in zipfileEof()
1252 ZipfileCsr *pCsr = (ZipfileCsr*)cur; in zipfileFilter() local
1257 zipfileResetCursor(pCsr); in zipfileFilter()
1262 zipfileCursorErr(pCsr, "zipfile() function requires an argument"); in zipfileFilter()
1274 pCsr->pFreeEntry = pTab->pFirstEntry; in zipfileFilter()
1283 pCsr->pFile = fopen(zFile, "rb"); in zipfileFilter()
1284 if( pCsr->pFile==0 ){ in zipfileFilter()
1285 zipfileCursorErr(pCsr, "cannot open file: %s", zFile); in zipfileFilter()
1288 rc = zipfileReadEOCD(pTab, 0, 0, pCsr->pFile, &pCsr->eocd); in zipfileFilter()
1290 if( pCsr->eocd.nEntry==0 ){ in zipfileFilter()
1291 pCsr->bEof = 1; in zipfileFilter()
1293 pCsr->iNextOff = pCsr->eocd.iOffset; in zipfileFilter()
1299 pCsr->bNoop = 1; in zipfileFilter()
1300 pCsr->pCurrent = pCsr->pFreeEntry ? pCsr->pFreeEntry : pTab->pFirstEntry; in zipfileFilter()
1714 ZipfileCsr *pCsr; in zipfileUpdate() local
1715 for(pCsr=pTab->pCsrList; pCsr; pCsr=pCsr->pCsrNext){ in zipfileUpdate()
1716 if( pCsr->pCurrent && (pCsr->pCurrent==pOld || pCsr->pCurrent==pOld2) ){ in zipfileUpdate()
1717 pCsr->pCurrent = pCsr->pCurrent->pNext; in zipfileUpdate()
1718 pCsr->bNoop = 1; in zipfileUpdate()
1836 ZipfileCsr *pCsr; in zipfileFindCursor() local
1837 for(pCsr=pTab->pCsrList; pCsr; pCsr=pCsr->pCsrNext){ in zipfileFindCursor()
1838 if( iId==pCsr->iId ) break; in zipfileFindCursor()
1840 return pCsr; in zipfileFindCursor()
1848 ZipfileCsr *pCsr; in zipfileFunctionCds() local
1852 pCsr = zipfileFindCursor(pTab, sqlite3_value_int64(argv[0])); in zipfileFunctionCds()
1853 if( pCsr ){ in zipfileFunctionCds()
1854 ZipfileCDS *p = &pCsr->pCurrent->cds; in zipfileFunctionCds()