]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid invoking system call unlink() directly from RBU code. Use the xDelete method...
authordan <dan@noemail.net>
Thu, 13 Aug 2015 11:46:21 +0000 (11:46 +0000)
committerdan <dan@noemail.net>
Thu, 13 Aug 2015 11:46:21 +0000 (11:46 +0000)
FossilOrigin-Name: ee966af8ff79189f8b90f3557dea21059517dfe2

ext/rbu/sqlite3rbu.c
manifest
manifest.uuid

index 00a655053f77e43fe9c2dfac7c1199dc97882635..ad831f453362c28bd5c20b55797a2bcd4572fb03 100644 (file)
 #include <string.h>
 #include <stdio.h>
 
-#if !defined(_WIN32)
-#  include <unistd.h>
-#endif
-
 #include "sqlite3.h"
 
 #if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_RBU)
@@ -2928,10 +2924,13 @@ static void rbuSetupOal(sqlite3rbu *p, RbuState *pState){
 ** leave an error code and error message in the rbu handle.
 */
 static void rbuDeleteOalFile(sqlite3rbu *p){
-  char *zOal = sqlite3_mprintf("%s-oal", p->zTarget);
-  assert( p->rc==SQLITE_OK && p->zErrmsg==0 );
-  unlink(zOal);
-  sqlite3_free(zOal);
+  char *zOal = rbuMPrintf(p, "%s-oal", p->zTarget);
+  if( zOal ){
+    sqlite3_vfs *pVfs = sqlite3_vfs_find(0);
+    assert( pVfs && p->rc==SQLITE_OK && p->zErrmsg==0 );
+    pVfs->xDelete(pVfs, zOal, 0);
+    sqlite3_free(zOal);
+  }
 }
 
 /*
index c0121c70db7cf97100cea2ff10b2b6340285eca7..5779cad99263251401bf67f1bc1721efb9ccf5a8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Minor\soptimization\sfor\sfts5\sAPI\sxInst().
-D 2015-08-12T15:36:58.855
+C Avoid\sinvoking\ssystem\scall\sunlink()\sdirectly\sfrom\sRBU\scode.\sUse\sthe\sxDelete\smethod\sof\sthe\sdefault\sVFS\sinstead.
+D 2015-08-13T11:46:21.944
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2fc9ca6bf5949d415801c007ed3004a4bdb7c380
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -223,7 +223,7 @@ F ext/rbu/rbudiff.test 6cc806dc36389292f2a8f5842d0103721df4a07d
 F ext/rbu/rbufault.test cc0be8d5d392d98b0c2d6a51be377ea989250a89
 F ext/rbu/rbufault2.test 9a7f19edd6ea35c4c9f807d8a3db0a03a5670c06
 F ext/rbu/rbufts.test 828cd689da825f0a7b7c53ffc1f6f7fdb6fa5bda
-F ext/rbu/sqlite3rbu.c 07cef1986347694306b82cb61de27e00fde6ce23
+F ext/rbu/sqlite3rbu.c e2ebcebfd0c363b8f90aba5a91cba0b3e93044ea
 F ext/rbu/sqlite3rbu.h f0754a19fcc155f6d39d72b38bdbeb1d7623f02e
 F ext/rbu/test_rbu.c f99698956cc9158d6bf865e461e2d15876538ac1
 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
@@ -1372,7 +1372,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P f7682435278419829a46bb4cc9b5625d46549e22
-R 5c7dc1bc59e7a8c21161b1ef8857c7b8
+P efb7c9c5d0015c8c966f8d6742c05cda82fc146a
+R 574927013afdd5b82f7f2aa79787da64
 U dan
-Z c11fd987f7eb5e43e308c10674f8c3b9
+Z c9a8f55e34994965e95a262cdf26fc13
index 584731300e9206a815d722b9e1f92893fa743577..79399d296049e90d3cbfa9fe52cd785cabe0d85d 100644 (file)
@@ -1 +1 @@
-efb7c9c5d0015c8c966f8d6742c05cda82fc146a
\ No newline at end of file
+ee966af8ff79189f8b90f3557dea21059517dfe2
\ No newline at end of file