| OLD | NEW |
| (Empty) | |
| 1 This is a backport of http://sqlite.org/src/ci/9109128cb5, |
| 2 which is needed for experiments with using unpatched sqlite. |
| 3 If you hit a merge conflict on this file it is most likely |
| 4 that you've upgraded to version of sqlite that includes this patch. |
| 5 Index: src/os_unix.c |
| 6 =================================================================== |
| 7 --- src/os_unix.c |
| 8 +++ src/os_unix.c |
| 9 @@ -4787,11 +4787,11 @@ |
| 10 ** ignored and -1 is returned. The caller will try to open a new file |
| 11 ** descriptor on the same path, fail, and return an error to SQLite. |
| 12 ** |
| 13 ** Even if a subsequent open() call does succeed, the consequences of |
| 14 ** not searching for a resusable file descriptor are not dire. */ |
| 15 - if( 0==stat(zPath, &sStat) ){ |
| 16 + if( 0==osStat(zPath, &sStat) ){ |
| 17 unixInodeInfo *pInode; |
| 18 |
| 19 unixEnterMutex(); |
| 20 pInode = inodeList; |
| 21 while( pInode && (pInode->fileId.dev!=sStat.st_dev |
| 22 @@ -4863,11 +4863,11 @@ |
| 23 while( nDb>0 && zPath[nDb]!='-' ) nDb--; |
| 24 if( nDb==0 ) return SQLITE_OK; |
| 25 memcpy(zDb, zPath, nDb); |
| 26 zDb[nDb] = '\0'; |
| 27 |
| 28 - if( 0==stat(zDb, &sStat) ){ |
| 29 + if( 0==osStat(zDb, &sStat) ){ |
| 30 *pMode = sStat.st_mode & 0777; |
| 31 }else{ |
| 32 rc = SQLITE_IOERR_FSTAT; |
| 33 } |
| 34 }else if( flags & SQLITE_OPEN_DELETEONCLOSE ){ |
| 35 @@ -5208,11 +5208,11 @@ |
| 36 assert(!"Invalid flags argument"); |
| 37 } |
| 38 *pResOut = (osAccess(zPath, amode)==0); |
| 39 if( flags==SQLITE_ACCESS_EXISTS && *pResOut ){ |
| 40 struct stat buf; |
| 41 - if( 0==stat(zPath, &buf) && buf.st_size==0 ){ |
| 42 + if( 0==osStat(zPath, &buf) && buf.st_size==0 ){ |
| 43 *pResOut = 0; |
| 44 } |
| 45 } |
| 46 return SQLITE_OK; |
| 47 } |
| 48 |
| OLD | NEW |