summaryrefslogtreecommitdiff
path: root/ext/sqlite/libsqlite
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sqlite/libsqlite')
-rw-r--r--ext/sqlite/libsqlite/VERSION2
-rw-r--r--ext/sqlite/libsqlite/src/os.c1
-rw-r--r--ext/sqlite/libsqlite/src/pager.c2
-rw-r--r--ext/sqlite/libsqlite/src/sqlite.w32.h2
-rw-r--r--ext/sqlite/libsqlite/src/sqliteInt.h2
-rw-r--r--ext/sqlite/libsqlite/src/util.c11
6 files changed, 10 insertions, 10 deletions
diff --git a/ext/sqlite/libsqlite/VERSION b/ext/sqlite/libsqlite/VERSION
index 85c0a6a965..6ece8e7d51 100644
--- a/ext/sqlite/libsqlite/VERSION
+++ b/ext/sqlite/libsqlite/VERSION
@@ -1 +1 @@
-2.8.16
+2.8.17
diff --git a/ext/sqlite/libsqlite/src/os.c b/ext/sqlite/libsqlite/src/os.c
index 930d62440e..dccd65f1d6 100644
--- a/ext/sqlite/libsqlite/src/os.c
+++ b/ext/sqlite/libsqlite/src/os.c
@@ -1778,6 +1778,7 @@ char *sqliteOsFullPathname(const char *zRelative){
sqliteSetString(&zFull, zRelative, (char*)0);
}else{
char zBuf[5000];
+ zBuf[0] = 0;
sqliteSetString(&zFull, getcwd(zBuf, sizeof(zBuf)), "/", zRelative,
(char*)0);
}
diff --git a/ext/sqlite/libsqlite/src/pager.c b/ext/sqlite/libsqlite/src/pager.c
index 23d3fb8009..278a99f604 100644
--- a/ext/sqlite/libsqlite/src/pager.c
+++ b/ext/sqlite/libsqlite/src/pager.c
@@ -1929,7 +1929,7 @@ void sqlitepager_dont_write(Pager *pPager, Pgno pgno){
pPg = pager_lookup(pPager, pgno);
pPg->alwaysRollback = 1;
- if( pPg && pPg->dirty ){
+ if( pPg && pPg->dirty && !pPager->ckptInUse ){
if( pPager->dbSize==(int)pPg->pgno && pPager->origDbSize<pPager->dbSize ){
/* If this pages is the last page in the file and the file has grown
** during the current transaction, then do NOT mark the page as clean.
diff --git a/ext/sqlite/libsqlite/src/sqlite.w32.h b/ext/sqlite/libsqlite/src/sqlite.w32.h
index 0239fcd657..fb5d68221a 100644
--- a/ext/sqlite/libsqlite/src/sqlite.w32.h
+++ b/ext/sqlite/libsqlite/src/sqlite.w32.h
@@ -28,7 +28,7 @@ extern "C" {
/*
** The version of the SQLite library.
*/
-#define SQLITE_VERSION "2.8.16"
+#define SQLITE_VERSION "2.8.17"
/*
** The version string is also compiled into the library so that a program
diff --git a/ext/sqlite/libsqlite/src/sqliteInt.h b/ext/sqlite/libsqlite/src/sqliteInt.h
index 02236c2dc9..e7b4a84e99 100644
--- a/ext/sqlite/libsqlite/src/sqliteInt.h
+++ b/ext/sqlite/libsqlite/src/sqliteInt.h
@@ -1120,7 +1120,7 @@ void sqliteRealToSortable(double r, char *);
#endif
char *sqliteMPrintf(const char*, ...);
char *sqliteVMPrintf(const char*, va_list);
-void sqliteSetString(char **, const char *, ...);
+void sqliteSetString(char **, ...);
void sqliteSetNString(char **, ...);
void sqliteErrorMsg(Parse*, const char*, ...);
void sqliteDequote(char*);
diff --git a/ext/sqlite/libsqlite/src/util.c b/ext/sqlite/libsqlite/src/util.c
index ed399fde21..4fa09b3759 100644
--- a/ext/sqlite/libsqlite/src/util.c
+++ b/ext/sqlite/libsqlite/src/util.c
@@ -330,15 +330,15 @@ char *sqliteStrNDup(const char *z, int n){
** point to that string. The 1st argument must either be NULL or
** point to memory obtained from sqliteMalloc().
*/
-void sqliteSetString(char **pz, const char *zFirst, ...){
+void sqliteSetString(char **pz, ...){
va_list ap;
int nByte;
const char *z;
char *zResult;
if( pz==0 ) return;
- nByte = strlen(zFirst) + 1;
- va_start(ap, zFirst);
+ nByte = 1;
+ va_start(ap, pz);
while( (z = va_arg(ap, const char*))!=0 ){
nByte += strlen(z);
}
@@ -348,9 +348,8 @@ void sqliteSetString(char **pz, const char *zFirst, ...){
if( zResult==0 ){
return;
}
- strcpy(zResult, zFirst);
- zResult += strlen(zResult);
- va_start(ap, zFirst);
+ *zResult = 0;
+ va_start(ap, pz);
while( (z = va_arg(ap, const char*))!=0 ){
strcpy(zResult, z);
zResult += strlen(zResult);