summaryrefslogtreecommitdiff
path: root/src/conn/conn_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conn/conn_api.c')
-rw-r--r--src/conn/conn_api.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/conn/conn_api.c b/src/conn/conn_api.c
index dde3fb6930e..98267eeeb2c 100644
--- a/src/conn/conn_api.c
+++ b/src/conn/conn_api.c
@@ -751,6 +751,7 @@ __conn_get_extension_api(WT_CONNECTION *wt_conn)
conn->extension_api.err_printf = __wt_ext_err_printf;
conn->extension_api.msg_printf = __wt_ext_msg_printf;
conn->extension_api.strerror = __wt_ext_strerror;
+ conn->extension_api.map_windows_error = __wt_ext_map_windows_error;
conn->extension_api.scr_alloc = __wt_ext_scr_alloc;
conn->extension_api.scr_free = __wt_ext_scr_free;
conn->extension_api.collator_config = ext_collator_config;
@@ -1298,7 +1299,8 @@ __conn_config_file(WT_SESSION_IMPL *session,
* the next character is a hash mark, skip to the next newline.
*/
for (;;) {
- for (*t++ = ','; --len > 0 && isspace(*++p);)
+ for (*t++ = ',';
+ --len > 0 && __wt_isspace((u_char)*++p);)
;
if (len == 0)
break;
@@ -1517,17 +1519,14 @@ __conn_single(WT_SESSION_IMPL *session, const char *cfg[])
* if the file does not exist. If so, then ignore the error.
* XXX Ignoring the error does allow multiple read-only
* connections to exist at the same time on a read-only directory.
+ *
+ * If we got an expected permission or non-existence error then skip
+ * the byte lock.
*/
- if (F_ISSET(conn, WT_CONN_READONLY)) {
- /*
- * If we got an expected permission or non-existence error
- * then skip the byte lock.
- */
- ret = __wt_map_error_rdonly(ret);
- if (ret == WT_NOTFOUND || ret == WT_PERM_DENIED) {
- bytelock = false;
- ret = 0;
- }
+ if (F_ISSET(conn, WT_CONN_READONLY) &&
+ (ret == EACCES || ret == ENOENT)) {
+ bytelock = false;
+ ret = 0;
}
WT_ERR(ret);
if (bytelock) {
@@ -1567,19 +1566,16 @@ __conn_single(WT_SESSION_IMPL *session, const char *cfg[])
WT_OPEN_FILE_TYPE_REGULAR, is_create ? WT_OPEN_CREATE : 0, &fh);
/*
- * If we're read-only, check for success as well as handled errors.
- * Even if we're able to open the WiredTiger file successfully, we
- * do not try to lock it. The lock file test above is the only
- * one we do for read-only.
+ * If we're read-only, check for handled errors. Even if able to open
+ * the WiredTiger file successfully, we do not try to lock it. The
+ * lock file test above is the only one we do for read-only.
*/
if (F_ISSET(conn, WT_CONN_READONLY)) {
- ret = __wt_map_error_rdonly(ret);
- if (ret == 0 || ret == WT_NOTFOUND || ret == WT_PERM_DENIED)
+ if (ret == EACCES || ret == ENOENT)
ret = 0;
WT_ERR(ret);
} else {
WT_ERR(ret);
-
/*
* Lock the WiredTiger file (for backward compatibility reasons
* as described above). Immediately release the lock, it's