Fix minor issue in xAccess() method for Windows.

FossilOrigin-Name: 4bfd46f1db41009a1b925d61c6f074b933caa4ec
This commit is contained in:
shaneh 2010-07-07 13:58:11 +00:00
parent 3e8e7ecbc4
commit 7ea7259176
3 changed files with 23 additions and 26 deletions

View File

@ -1,8 +1,5 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
C Add\stestcase\smacros\sto\sensure\sthat\slarge-file\scases\sare\stested\sin\sWAL.
D 2010-07-07T13:43:19
C Fix\sminor\sissue\sin\sxAccess()\smethod\sfor\sWindows.
D 2010-07-07T13:58:11
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in c4270a1cd7cd70a263b7e96a258aa90e9c3618eb
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -158,7 +155,7 @@ F src/os.h d7775504a51e6e0d40315aa427b3e229ff9ff9ca
F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
F src/os_unix.c c6112f0ae34f23ae5ca0189a685e084befbdcf26
F src/os_win.c f0c975122ef078fc0e3754d794a9581aa77ed15d
F src/os_win.c c4b785547bbdf334f858c863c63177492e306c92
F src/pager.c 311571e62fe6a039d2a8dddea830981a6052239a
F src/pager.h 879fdde5a102d2f21a3135d6f647530b21c2796c
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
@ -834,14 +831,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P 8657455a11d20dbf78247559670943a72541a09d
R 5b2575fde5ab17ee5f094117e90d3426
U drh
Z 7ccf2025fd40e8aba2c7da7154bbcd44
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFMNIR7oxKgR168RlERAkQPAJ9XXJ1y1kSaFlQZxEA2iMYW2lDrgACdFLMj
nP/rGIBPD7YjnRDzUgfyo/A=
=Xptt
-----END PGP SIGNATURE-----
P 8156b57ac33161ae6dd8a9413127ecce3c9eae83
R 0997b8c0aeeb70b49f1a9db77f666f95
U shaneh
Z 6fcb36d2434c0ecb594c639a41c5a5ab

View File

@ -1 +1 @@
8156b57ac33161ae6dd8a9413127ecce3c9eae83
4bfd46f1db41009a1b925d61c6f074b933caa4ec

View File

@ -2088,14 +2088,21 @@ static int winAccess(
if( isNT() ){
WIN32_FILE_ATTRIBUTE_DATA sAttrData;
memset(&sAttrData, 0, sizeof(sAttrData));
attr = GetFileAttributesExW((WCHAR*)zConverted,
GetFileExInfoStandard, &sAttrData);
/* For an SQLITE_ACCESS_EXISTS query, treat a zero-length file
** as if it does not exist.
*/
if( flags==SQLITE_ACCESS_EXISTS && attr!=INVALID_FILE_ATTRIBUTES
&& sAttrData.nFileSizeHigh==0 && sAttrData.nFileSizeLow==0 ){
attr = INVALID_FILE_ATTRIBUTES;
if( GetFileAttributesExW((WCHAR*)zConverted,
GetFileExInfoStandard,
&sAttrData) ){
/* For an SQLITE_ACCESS_EXISTS query, treat a zero-length file
** as if it does not exist.
*/
if( flags==SQLITE_ACCESS_EXISTS
&& sAttrData.nFileSizeHigh==0
&& sAttrData.nFileSizeLow==0 ){
attr = INVALID_FILE_ATTRIBUTES;
}else{
attr = sAttrData.dwFileAttributes;
}
}else{
return SQLITE_IOERR;
}
/* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed.
** Since the ASCII version of these Windows API do not exist for WINCE,