1.1 --- a/extensions/sqlite/Makefile Sun Jul 29 01:21:56 2007 +0000
1.2 +++ b/extensions/sqlite/Makefile Sun Jul 29 01:29:27 2007 +0000
1.3 @@ -9,12 +9,30 @@
1.4 ### EDIT BELOW FOR OTHER PROJECTS ###
1.5 #####################################
1.6
1.7 -PROJECT = sample
1.8 +PROJECT = dbi.sqlite
1.9
1.10 #Uncomment for SourceMM-enabled extensions
1.11 #LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
1.12
1.13 -OBJECTS = sdk/smsdk_ext.cpp extension.cpp
1.14 +OBJECTS = sdk/smsdk_ext.cpp extension.cpp sm_memtable.cpp \
1.15 + driver/SqDatabase.cpp driver/SqDriver.cpp driver/SqQuery.cpp \
1.16 + driver/SqResults.cpp
1.17 +
1.18 +OBJECTS += sqlite-source/alter.c sqlite-source/analyze.c \
1.19 + sqlite-source/attach.c sqlite-source/auth.c sqlite-source/btree.c \
1.20 + sqlite-source/build.c sqlite-source/callback.c sqlite-source/complete.c \
1.21 + sqlite-source/date.c sqlite-source/delete.c sqlite-source/expr.c \
1.22 + sqlite-source/func.c sqlite-source/hash.c sqlite-source/insert.c \
1.23 + sqlite-source/legacy.c sqlite-source/main.c sqlite-source/malloc.c \
1.24 + sqlite-source/opcodes.c sqlite-source/os.c sqlite-source/os_unix.c \
1.25 + sqlite-source/pager.c sqlite-source/parse.c sqlite-source/pragma.c \
1.26 + sqlite-source/prepare.c sqlite-source/printf.c sqlite-source/random.c \
1.27 + sqlite-source/select.c sqlite-source/table.c sqlite-source/tokenize.c \
1.28 + sqlite-source/trigger.c sqlite-source/update.c sqlite-source/utf.c \
1.29 + sqlite-source/util.c sqlite-source/vacuum.c sqlite-source/vdbe.c \
1.30 + sqlite-source/vdbeapi.c sqlite-source/vdbeaux.c sqlite-source/vdbeblob.c \
1.31 + sqlite-source/vdbefifo.c sqlite-source/vdbemem.c sqlite-source/vtab.c \
1.32 + sqlite-source/where.c
1.33
1.34 ##############################################
1.35 ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
1.36 @@ -30,13 +48,13 @@
1.37 HL2SDK = $(SOURCEMM)/hl2sdk
1.38 SMM_TRUNK = $(SOURCEMM)/trunk
1.39
1.40 -LINK = $(LINK_HL2) -static-libgcc
1.41 +LINK = $(LINK_HL2) -static-libgcc -lpthread
1.42
1.43 INCLUDE = -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
1.44 -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SMM_TRUNK) -I$(SMM_TRUNK)/sourcehook -I$(SMM_TRUNK)/sourcemm \
1.45 -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \
1.46
1.47 -CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -fPIC -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H
1.48 +CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -fPIC -msse -DSOURCEMOD_BUILD -Wno-uninitialized -DTHREADSAFE -DSQLITE_OMIT_LOAD_EXTENSION
1.49 CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
1.50
1.51 ################################################
1.52 @@ -60,12 +78,18 @@
1.53 BINARY = $(PROJECT).ext.so
1.54
1.55 OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
1.56 +OBJ_LINUX := $(OBJ_LINUX:%.c=$(BIN_DIR)/%.o)
1.57
1.58 $(BIN_DIR)/%.o: %.cpp
1.59 $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
1.60
1.61 +$(BIN_DIR)/%.o: %.c
1.62 + $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
1.63 +
1.64 all:
1.65 mkdir -p $(BIN_DIR)/sdk
1.66 + mkdir -p $(BIN_DIR)/driver
1.67 + mkdir -p $(BIN_DIR)/sqlite-source
1.68 ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so
1.69 ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so
1.70 $(MAKE) extension
1.71 @@ -81,7 +105,11 @@
1.72 clean:
1.73 rm -rf Release/*.o
1.74 rm -rf Release/sdk/*.o
1.75 + rm -rf Release/sqlite-source/*.o
1.76 + rm -rf Release/driver/*.o
1.77 rm -rf Release/$(BINARY)
1.78 rm -rf Debug/*.o
1.79 rm -rf Debug/sdk/*.o
1.80 + rm -rf Debug/sqlite-source/*.o
1.81 + rm -rf Debug/driver/*.o
1.82 rm -rf Debug/$(BINARY)
2.1 --- a/extensions/sqlite/driver/SqResults.cpp Sun Jul 29 01:21:56 2007 +0000
2.2 +++ b/extensions/sqlite/driver/SqResults.cpp Sun Jul 29 01:29:27 2007 +0000
2.3 @@ -275,7 +275,7 @@
2.4 field->type = SQLITE_TEXT;
2.5 res = DBVal_Null;
2.6 }
2.7 - size_t wr;
2.8 + size_t wr = 0;
2.9 if (field->type == SQLITE_TEXT)
2.10 {
2.11 wr = strncopy(buffer, ptr, maxlength);
3.1 --- a/extensions/sqlite/driver/SqResults.h Sun Jul 29 01:21:56 2007 +0000
3.2 +++ b/extensions/sqlite/driver/SqResults.h Sun Jul 29 01:29:27 2007 +0000
3.3 @@ -80,10 +80,10 @@
3.4 sqlite3_stmt *m_pStmt; /** DOES NOT CHANGE */
3.5 String *m_ColNames; /** DOES NOT CHANGE */
3.6 unsigned int m_ColCount; /** DOES NOT CHANGE */
3.7 + BaseStringTable m_Strings; /** DOES NOT CHANGE */
3.8 + BaseMemTable *m_pMemory; /** DOES NOT CHANGE */
3.9 unsigned int m_RowCount;
3.10 unsigned int m_MaxRows;
3.11 - BaseMemTable *m_pMemory; /** DOES NOT CHANGE */
3.12 - BaseStringTable m_Strings; /** DOES NOT CHANGE */
3.13 SqField *m_Rows;
3.14 unsigned int m_CurRow;
3.15 unsigned int m_NextRow;