diff options
Diffstat (limited to 'src/os_win.c')
-rw-r--r-- | src/os_win.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/os_win.c b/src/os_win.c index 2d4f0adad..5d9bf5984 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -2452,11 +2452,13 @@ static int winAccess( return SQLITE_NOMEM; } if( isNT() ){ + int cnt = 0; WIN32_FILE_ATTRIBUTE_DATA sAttrData; memset(&sAttrData, 0, sizeof(sAttrData)); - if( GetFileAttributesExW((WCHAR*)zConverted, + while( (rc = GetFileAttributesExW((WCHAR*)zConverted, GetFileExInfoStandard, - &sAttrData) ){ + &sAttrData)) && rc==0 && retryIoerr(&cnt) ){} + if( rc ){ /* For an SQLITE_ACCESS_EXISTS query, treat a zero-length file ** as if it does not exist. */ |