diff options
Diffstat (limited to 'ext/sqlite/libsqlite/src')
-rw-r--r-- | ext/sqlite/libsqlite/src/os.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/sqlite/libsqlite/src/os.c b/ext/sqlite/libsqlite/src/os.c index 2c57078305..12761bb2a3 100644 --- a/ext/sqlite/libsqlite/src/os.c +++ b/ext/sqlite/libsqlite/src/os.c @@ -34,6 +34,9 @@ # ifndef O_BINARY # define O_BINARY 0 # endif +# ifndef EISDIR +# define EISDIR 21 +# endif #endif @@ -464,6 +467,9 @@ int sqliteOsOpenReadWrite( id->dirfd = -1; id->fd = open(zFilename, O_RDWR|O_CREAT|O_LARGEFILE|O_BINARY, 0644); if( id->fd<0 ){ + if (errno == EISDIR) { + return SQLITE_CANTOPEN; + } id->fd = open(zFilename, O_RDONLY|O_LARGEFILE|O_BINARY); if( id->fd<0 ){ return SQLITE_CANTOPEN; |