]> jfr.im git - irc/quakenet/newserv.git/blobdiff - sqlite/sqlite.h
GLINES: fix null pointer deref in trustgline / trustungline
[irc/quakenet/newserv.git] / sqlite / sqlite.h
index b6f0c16fcdf00c5b14bc70ffcb17b111444ed332..6184c2b6ff2a186fdd32a9132e30867bf5833abe 100644 (file)
@@ -1,29 +1,29 @@
 #ifndef __SQLITE_DB_H
 #define __SQLITE_DB_H
 
-#include <sqlite3.h>
+#include <stdlib.h>
 
-#ifdef SQLITE_THREADSAFE
-#error cannot use thread safe sqlite, recompile with --enable-threadsafe=no
-#endif
+#include "../sqlite/libsqlite3/sqlite3.h"
 
 typedef struct SQLiteResult {
   sqlite3_stmt *r;
   char first, final;
+  short flags;
 } SQLiteResult;
 
 typedef SQLiteResult SQLiteConn;
 typedef int SQLiteModuleIdentifier;
 typedef void (*SQLiteQueryHandler)(SQLiteConn *, void *);
 
-void sqliteasyncqueryf(SQLiteModuleIdentifier identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, ...);
+void sqliteasyncqueryf(SQLiteModuleIdentifier identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, ...) __attribute__ ((format (printf, 5, 6)));
+void sqliteasyncqueryfv(int identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, va_list ap);
 
 int sqliteconnected(void);
 
 int sqlitegetid(void);
 void sqlitefreeid(int);
 
-void sqliteescapestring(char *, char *, unsigned int);
+size_t sqliteescapestring(char *buf, char *src, unsigned int len);
 
 SQLiteResult *sqlitegetresult(SQLiteConn *);
 int sqlitefetchrow(SQLiteResult *);
@@ -31,10 +31,11 @@ void sqliteclear(SQLiteResult *);
 
 int sqlitequerysuccessful(SQLiteResult *);
 
-#define sqlitegetvalue(result, column) (char *)sqlite3_column_text(result->r, column)
+#define sqlitegetvalue(result, column) ((char *)sqlite3_column_text(result->r, column))
 
 void sqliteattach(char *schema);
 void sqlitedetach(char *schema);
-void sqliteloadtable(char *tablename, SQLiteQueryHandler init, SQLiteQueryHandler data, SQLiteQueryHandler fini);
+void sqliteloadtable(char *tablename, SQLiteQueryHandler init, SQLiteQueryHandler data, SQLiteQueryHandler fini, void *tag);
+sqlite3 *sqlitegetconn(void);
 
 #endif