• Home
  • Raw
  • Download

Lines Matching refs:pCur

2630   fsdir_cursor *pCur;  in fsdirOpen()  local
2632 pCur = sqlite3_malloc( sizeof(*pCur) ); in fsdirOpen()
2633 if( pCur==0 ) return SQLITE_NOMEM; in fsdirOpen()
2634 memset(pCur, 0, sizeof(*pCur)); in fsdirOpen()
2635 pCur->iLvl = -1; in fsdirOpen()
2636 *ppCursor = &pCur->base; in fsdirOpen()
2644 static void fsdirResetCursor(fsdir_cursor *pCur){ in fsdirResetCursor() argument
2646 for(i=0; i<=pCur->iLvl; i++){ in fsdirResetCursor()
2647 FsdirLevel *pLvl = &pCur->aLvl[i]; in fsdirResetCursor()
2651 sqlite3_free(pCur->zPath); in fsdirResetCursor()
2652 sqlite3_free(pCur->aLvl); in fsdirResetCursor()
2653 pCur->aLvl = 0; in fsdirResetCursor()
2654 pCur->zPath = 0; in fsdirResetCursor()
2655 pCur->zBase = 0; in fsdirResetCursor()
2656 pCur->nBase = 0; in fsdirResetCursor()
2657 pCur->nLvl = 0; in fsdirResetCursor()
2658 pCur->iLvl = -1; in fsdirResetCursor()
2659 pCur->iRowid = 1; in fsdirResetCursor()
2666 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirClose() local
2668 fsdirResetCursor(pCur); in fsdirClose()
2669 sqlite3_free(pCur); in fsdirClose()
2677 static void fsdirSetErrmsg(fsdir_cursor *pCur, const char *zFmt, ...){ in fsdirSetErrmsg() argument
2680 pCur->base.pVtab->zErrMsg = sqlite3_vmprintf(zFmt, ap); in fsdirSetErrmsg()
2689 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirNext() local
2690 mode_t m = pCur->sStat.st_mode; in fsdirNext()
2692 pCur->iRowid++; in fsdirNext()
2695 int iNew = pCur->iLvl + 1; in fsdirNext()
2697 if( iNew>=pCur->nLvl ){ in fsdirNext()
2700 FsdirLevel *aNew = (FsdirLevel*)sqlite3_realloc64(pCur->aLvl, nByte); in fsdirNext()
2702 memset(&aNew[pCur->nLvl], 0, sizeof(FsdirLevel)*(nNew-pCur->nLvl)); in fsdirNext()
2703 pCur->aLvl = aNew; in fsdirNext()
2704 pCur->nLvl = nNew; in fsdirNext()
2706 pCur->iLvl = iNew; in fsdirNext()
2707 pLvl = &pCur->aLvl[iNew]; in fsdirNext()
2709 pLvl->zDir = pCur->zPath; in fsdirNext()
2710 pCur->zPath = 0; in fsdirNext()
2713 fsdirSetErrmsg(pCur, "cannot read directory: %s", pCur->zPath); in fsdirNext()
2718 while( pCur->iLvl>=0 ){ in fsdirNext()
2719 FsdirLevel *pLvl = &pCur->aLvl[pCur->iLvl]; in fsdirNext()
2726 sqlite3_free(pCur->zPath); in fsdirNext()
2727 pCur->zPath = sqlite3_mprintf("%s/%s", pLvl->zDir, pEntry->d_name); in fsdirNext()
2728 if( pCur->zPath==0 ) return SQLITE_NOMEM; in fsdirNext()
2729 if( fileLinkStat(pCur->zPath, &pCur->sStat) ){ in fsdirNext()
2730 fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath); in fsdirNext()
2739 pCur->iLvl--; in fsdirNext()
2743 sqlite3_free(pCur->zPath); in fsdirNext()
2744 pCur->zPath = 0; in fsdirNext()
2757 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirColumn() local
2760 sqlite3_result_text(ctx, &pCur->zPath[pCur->nBase], -1, SQLITE_TRANSIENT); in fsdirColumn()
2765 sqlite3_result_int64(ctx, pCur->sStat.st_mode); in fsdirColumn()
2769 sqlite3_result_int64(ctx, pCur->sStat.st_mtime); in fsdirColumn()
2773 mode_t m = pCur->sStat.st_mode; in fsdirColumn()
2784 n = readlink(pCur->zPath, aBuf, nBuf); in fsdirColumn()
2799 readFileContents(ctx, pCur->zPath); in fsdirColumn()
2818 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirRowid() local
2819 *pRowid = pCur->iRowid; in fsdirRowid()
2828 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirEof() local
2829 return (pCur->zPath==0); in fsdirEof()
2844 fsdir_cursor *pCur = (fsdir_cursor*)cur; in fsdirFilter() local
2846 fsdirResetCursor(pCur); in fsdirFilter()
2849 fsdirSetErrmsg(pCur, "table function fsdir requires an argument"); in fsdirFilter()
2856 fsdirSetErrmsg(pCur, "table function fsdir requires a non-NULL argument"); in fsdirFilter()
2860 pCur->zBase = (const char*)sqlite3_value_text(argv[1]); in fsdirFilter()
2862 if( pCur->zBase ){ in fsdirFilter()
2863 pCur->nBase = (int)strlen(pCur->zBase)+1; in fsdirFilter()
2864 pCur->zPath = sqlite3_mprintf("%s/%s", pCur->zBase, zDir); in fsdirFilter()
2866 pCur->zPath = sqlite3_mprintf("%s", zDir); in fsdirFilter()
2869 if( pCur->zPath==0 ){ in fsdirFilter()
2872 if( fileLinkStat(pCur->zPath, &pCur->sStat) ){ in fsdirFilter()
2873 fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath); in fsdirFilter()
3172 completion_cursor *pCur; in completionOpen() local
3173 pCur = sqlite3_malloc( sizeof(*pCur) ); in completionOpen()
3174 if( pCur==0 ) return SQLITE_NOMEM; in completionOpen()
3175 memset(pCur, 0, sizeof(*pCur)); in completionOpen()
3176 pCur->db = ((completion_vtab*)p)->db; in completionOpen()
3177 *ppCursor = &pCur->base; in completionOpen()
3184 static void completionCursorReset(completion_cursor *pCur){ in completionCursorReset() argument
3185 sqlite3_free(pCur->zPrefix); pCur->zPrefix = 0; pCur->nPrefix = 0; in completionCursorReset()
3186 sqlite3_free(pCur->zLine); pCur->zLine = 0; pCur->nLine = 0; in completionCursorReset()
3187 sqlite3_finalize(pCur->pStmt); pCur->pStmt = 0; in completionCursorReset()
3188 pCur->j = 0; in completionCursorReset()
3215 completion_cursor *pCur = (completion_cursor*)cur; in completionNext() local
3218 pCur->iRowid++; in completionNext()
3219 while( pCur->ePhase!=COMPLETION_EOF ){ in completionNext()
3220 switch( pCur->ePhase ){ in completionNext()
3222 if( pCur->j >= sqlite3_keyword_count() ){ in completionNext()
3223 pCur->zCurrentRow = 0; in completionNext()
3224 pCur->ePhase = COMPLETION_DATABASES; in completionNext()
3226 sqlite3_keyword_name(pCur->j++, &pCur->zCurrentRow, &pCur->szRow); in completionNext()
3232 if( pCur->pStmt==0 ){ in completionNext()
3233 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, in completionNext()
3234 &pCur->pStmt, 0); in completionNext()
3241 if( pCur->pStmt==0 ){ in completionNext()
3245 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0); in completionNext()
3257 sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0); in completionNext()
3265 if( pCur->pStmt==0 ){ in completionNext()
3269 sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0); in completionNext()
3283 sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0); in completionNext()
3293 if( pCur->zCurrentRow==0 ) continue; in completionNext()
3295 if( sqlite3_step(pCur->pStmt)==SQLITE_ROW ){ in completionNext()
3297 pCur->zCurrentRow = (const char*)sqlite3_column_text(pCur->pStmt, iCol); in completionNext()
3298 pCur->szRow = sqlite3_column_bytes(pCur->pStmt, iCol); in completionNext()
3301 sqlite3_finalize(pCur->pStmt); in completionNext()
3302 pCur->pStmt = 0; in completionNext()
3303 pCur->ePhase = eNextPhase; in completionNext()
3307 if( pCur->nPrefix==0 ) break; in completionNext()
3308 if( pCur->nPrefix<=pCur->szRow in completionNext()
3309 && sqlite3_strnicmp(pCur->zPrefix, pCur->zCurrentRow, pCur->nPrefix)==0 in completionNext()
3327 completion_cursor *pCur = (completion_cursor*)cur; in completionColumn() local
3330 sqlite3_result_text(ctx, pCur->zCurrentRow, pCur->szRow,SQLITE_TRANSIENT); in completionColumn()
3334 sqlite3_result_text(ctx, pCur->zPrefix, -1, SQLITE_TRANSIENT); in completionColumn()
3338 sqlite3_result_text(ctx, pCur->zLine, -1, SQLITE_TRANSIENT); in completionColumn()
3342 sqlite3_result_int(ctx, pCur->ePhase); in completionColumn()
3354 completion_cursor *pCur = (completion_cursor*)cur; in completionRowid() local
3355 *pRowid = pCur->iRowid; in completionRowid()
3364 completion_cursor *pCur = (completion_cursor*)cur; in completionEof() local
3365 return pCur->ePhase >= COMPLETION_EOF; in completionEof()
3379 completion_cursor *pCur = (completion_cursor *)pVtabCursor; in completionFilter() local
3383 completionCursorReset(pCur); in completionFilter()
3385 pCur->nPrefix = sqlite3_value_bytes(argv[iArg]); in completionFilter()
3386 if( pCur->nPrefix>0 ){ in completionFilter()
3387 pCur->zPrefix = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg])); in completionFilter()
3388 if( pCur->zPrefix==0 ) return SQLITE_NOMEM; in completionFilter()
3393 pCur->nLine = sqlite3_value_bytes(argv[iArg]); in completionFilter()
3394 if( pCur->nLine>0 ){ in completionFilter()
3395 pCur->zLine = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg])); in completionFilter()
3396 if( pCur->zLine==0 ) return SQLITE_NOMEM; in completionFilter()
3399 if( pCur->zLine!=0 && pCur->zPrefix==0 ){ in completionFilter()
3400 int i = pCur->nLine; in completionFilter()
3401 while( i>0 && (isalnum(pCur->zLine[i-1]) || pCur->zLine[i-1]=='_') ){ in completionFilter()
3404 pCur->nPrefix = pCur->nLine - i; in completionFilter()
3405 if( pCur->nPrefix>0 ){ in completionFilter()
3406 pCur->zPrefix = sqlite3_mprintf("%.*s", pCur->nPrefix, pCur->zLine + i); in completionFilter()
3407 if( pCur->zPrefix==0 ) return SQLITE_NOMEM; in completionFilter()
3410 pCur->iRowid = 0; in completionFilter()
3411 pCur->ePhase = COMPLETION_FIRST_PHASE; in completionFilter()