From: drh Date: Mon, 30 Mar 2009 13:04:17 +0000 (+0000) Subject: Make sure recursive calls to winOpen() preserve the pVfs pointer. X-Git-Tag: version-3.6.15~340 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a111577b6b22047a6a308b08bee21aea51d1e01b;p=thirdparty%2Fsqlite.git Make sure recursive calls to winOpen() preserve the pVfs pointer. Fault found while testing a mingw build in VMWare. (CVS 6410) FossilOrigin-Name: 18b44f0df3d75689fb5cee20120eb3c6ae5882b3 --- diff --git a/manifest b/manifest index a8147d16d9..5216c2e122 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\scalls\sto\snewer\sTCL\sinterfaces\sin\sthe\stest\slogic.\s\sThis\shelps\sthe\nTCL\stest\sharness\scompile\swithout\swarnings\sand\slink\swhen\susing\solder\sversions\nof\sthe\sTCL\slibrary.\s(CVS\s6409) -D 2009-03-30T12:56:52 +C Make\ssure\srecursive\scalls\sto\swinOpen()\spreserve\sthe\spVfs\spointer.\nFault\sfound\swhile\stesting\sa\smingw\sbuild\sin\sVMWare.\s(CVS\s6410) +D 2009-03-30T13:04:18 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 583e87706abc3026960ed759aff6371faf84c211 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -142,7 +142,7 @@ F src/os.h fa3f4aa0119ff721a2da4b47ffd74406ac864c05 F src/os_common.h 8c61457df58f1a4bd5f5adc3e90e01b37bf7afbc F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 F src/os_unix.c 5d667f24615043c937a138faaed5f3e93b8619b0 -F src/os_win.c 07f7c803f5dc06c9e1d83c12d4e2341dea8a778d +F src/os_win.c e655b2a640ed0481940161ddf811ddcc16d94783 F src/pager.c 7a2b4b118708de09e580de66d46e51c1b655f76a F src/pager.h 0c9f3520c00d8a3b8e792ca56c9a11b6b02b4b0f F src/parse.y b9ba0946a13e9f32a96044e64a3e8780269b08b0 @@ -711,7 +711,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 7ef36935424013a1b211906620954a97ffe08de7 -R f703e8f75622421dc3ccfa13f62a6d08 +P 1ad176375746d680225d7ecddca54bc281b1556d +R 58fd324f9c74a646af859265a6406860 U drh -Z c4a4bafdb37c9cdde7ef439605929a91 +Z 9cb7d0847214ae5af48c579246effaeb diff --git a/manifest.uuid b/manifest.uuid index a2c0ecc823..64d5d71d21 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1ad176375746d680225d7ecddca54bc281b1556d \ No newline at end of file +18b44f0df3d75689fb5cee20120eb3c6ae5882b3 \ No newline at end of file diff --git a/src/os_win.c b/src/os_win.c index 26820fa346..64e89969b9 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -12,7 +12,7 @@ ** ** This file contains code that is specific to windows. ** -** $Id: os_win.c,v 1.151 2009/03/30 12:42:45 drh Exp $ +** $Id: os_win.c,v 1.152 2009/03/30 13:04:18 drh Exp $ */ #include "sqliteInt.h" #if SQLITE_OS_WIN /* This file is used for windows only */ @@ -1367,7 +1367,7 @@ static int winOpen( if( h==INVALID_HANDLE_VALUE ){ free(zConverted); if( flags & SQLITE_OPEN_READWRITE ){ - return winOpen(0, zName, id, + return winOpen(pVfs, zName, id, ((flags|SQLITE_OPEN_READONLY)&~SQLITE_OPEN_READWRITE), pOutFlags); }else{ return SQLITE_CANTOPEN;