diff options
| author | nwrl <n/a> | 2025-08-14 21:33:11 -0500 |
|---|---|---|
| committer | nwrl <n/a> | 2025-08-14 21:33:11 -0500 |
| commit | 03eedebada9a54a7fe8f951032c4aeb71e709a77 (patch) | |
| tree | a7d511a5e15f2ed89c13eb0d848e1c0379384517 /nameblocker.sp | |
| parent | 87cce4e5e5136b5ae2fe6033d555e2a87eb557a2 (diff) | |
Fix logic error in trying to lock uninitialized db
Diffstat (limited to 'nameblocker.sp')
| -rw-r--r-- | nameblocker.sp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/nameblocker.sp b/nameblocker.sp index 9351365..abc5d26 100644 --- a/nameblocker.sp +++ b/nameblocker.sp | |||
| @@ -139,7 +139,7 @@ int initPrepStatements() { | |||
| 139 | char sqlerr[256 + 1]; | 139 | char sqlerr[256 + 1]; |
| 140 | int err = 0; | 140 | int err = 0; |
| 141 | 141 | ||
| 142 | SQL_LockDatabase(db); | 142 | SQL_LockDatabase(db); // crashes lol, invalid database handle |
| 143 | if((dbInsert = SQL_PrepareQuery(db, DBINSERTSTATEMENT, sqlerr, sizeof(sqlerr))) == null && !err) | 143 | if((dbInsert = SQL_PrepareQuery(db, DBINSERTSTATEMENT, sqlerr, sizeof(sqlerr))) == null && !err) |
| 144 | err = 1; | 144 | err = 1; |
| 145 | 145 | ||
| @@ -171,14 +171,10 @@ int loadFromDatabase() { | |||
| 171 | patternlist = new ArrayList(ByteCountToCells(PATTERN_MAX_LEN)); | 171 | patternlist = new ArrayList(ByteCountToCells(PATTERN_MAX_LEN)); |
| 172 | if(patternlist == null) logAndFail("Could not initialize patternlist ArrayList"); | 172 | if(patternlist == null) logAndFail("Could not initialize patternlist ArrayList"); |
| 173 | 173 | ||
| 174 | |||
| 175 | // Get database handle | ||
| 176 | char sqlerr[256 + 1]; | ||
| 177 | db = SQLite_UseDatabase("sourcemod-local", sqlerr, sizeof(sqlerr)); | ||
| 178 | if(db == null) logAndFail("Could not connect to sql database: %s", sqlerr); | ||
| 179 | |||
| 180 | // Initialize table if it doesn't exist | 174 | // Initialize table if it doesn't exist |
| 181 | int err = 0; | 175 | int err = 0; |
| 176 | char sqlerr[256 + 1]; | ||
| 177 | |||
| 182 | SQL_LockDatabase(db); | 178 | SQL_LockDatabase(db); |
| 183 | if(!SQL_FastQuery(db, DBCREATETABLE)) { | 179 | if(!SQL_FastQuery(db, DBCREATETABLE)) { |
| 184 | SQL_GetError(db, sqlerr, sizeof(sqlerr)); | 180 | SQL_GetError(db, sqlerr, sizeof(sqlerr)); |
| @@ -220,6 +216,11 @@ int loadFromDatabase() { | |||
| 220 | 216 | ||
| 221 | 217 | ||
| 222 | public void OnAllPluginsLoaded() { | 218 | public void OnAllPluginsLoaded() { |
| 219 | // Get database handle | ||
| 220 | char sqlerr[256 + 1]; | ||
| 221 | db = SQLite_UseDatabase("sourcemod-local", sqlerr, sizeof(sqlerr)); | ||
| 222 | if(db == null) logAndFail("Could not connect to sql database: %s", sqlerr); | ||
| 223 | |||
| 223 | initPrepStatements(); | 224 | initPrepStatements(); |
| 224 | loadFromDatabase(); | 225 | loadFromDatabase(); |
| 225 | 226 | ||
