summaryrefslogtreecommitdiff
path: root/ext/sqlite/libsqlite/src
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sqlite/libsqlite/src')
-rw-r--r--ext/sqlite/libsqlite/src/os.c6
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;