mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
Simplification to error handling in addModuleArgument() in the virtual table
processing. FossilOrigin-Name: c573b0a1aa3ba509234f07520fa94d008bcbb330
This commit is contained in:
12
src/vtab.c
12
src/vtab.c
@@ -285,23 +285,17 @@ void sqlite3VtabClear(sqlite3 *db, Table *p){
|
||||
** deleted.
|
||||
*/
|
||||
static void addModuleArgument(sqlite3 *db, Table *pTable, char *zArg){
|
||||
int i = pTable->nModuleArg++;
|
||||
int nBytes = sizeof(char *)*(1+pTable->nModuleArg);
|
||||
int nBytes = sizeof(char *)*(2+pTable->nModuleArg);
|
||||
char **azModuleArg;
|
||||
azModuleArg = sqlite3DbRealloc(db, pTable->azModuleArg, nBytes);
|
||||
if( azModuleArg==0 ){
|
||||
int j;
|
||||
for(j=0; j<i; j++){
|
||||
sqlite3DbFree(db, pTable->azModuleArg[j]);
|
||||
}
|
||||
sqlite3DbFree(db, zArg);
|
||||
sqlite3DbFree(db, pTable->azModuleArg);
|
||||
pTable->nModuleArg = 0;
|
||||
}else{
|
||||
int i = pTable->nModuleArg++;
|
||||
azModuleArg[i] = zArg;
|
||||
azModuleArg[i+1] = 0;
|
||||
pTable->azModuleArg = azModuleArg;
|
||||
}
|
||||
pTable->azModuleArg = azModuleArg;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user