summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/config/config_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/config/config_api.c')
-rw-r--r--src/third_party/wiredtiger/src/config/config_api.c35
1 files changed, 29 insertions, 6 deletions
diff --git a/src/third_party/wiredtiger/src/config/config_api.c b/src/third_party/wiredtiger/src/config/config_api.c
index f0c1d799089..d5c343e422c 100644
--- a/src/third_party/wiredtiger/src/config/config_api.c
+++ b/src/third_party/wiredtiger/src/config/config_api.c
@@ -85,12 +85,13 @@ wiredtiger_config_parser_open(
}
/*
- * wiredtiger_config_validate --
- * Validate a configuration string.
+ * __config_validate --
+ * Validate a configuration string. Taking a function pointer to the matching function for the
+ * given configuration set.
*/
-int
-wiredtiger_config_validate(
- WT_SESSION *wt_session, WT_EVENT_HANDLER *event_handler, const char *name, const char *config)
+static int
+__config_validate(WT_SESSION *wt_session, WT_EVENT_HANDLER *event_handler, const char *name,
+ const char *config, const WT_CONFIG_ENTRY *config_matcher(const char *))
{
const WT_CONFIG_ENTRY *ep, **epp;
WT_CONNECTION_IMPL *conn, dummy_conn;
@@ -132,7 +133,7 @@ wiredtiger_config_validate(
* added).
*/
if (session == NULL || conn == NULL || conn->config_entries == NULL)
- ep = __wt_conn_config_match(name);
+ ep = config_matcher(name);
else {
ep = NULL;
for (epp = conn->config_entries; *epp != NULL && (*epp)->method != NULL; ++epp)
@@ -148,6 +149,28 @@ wiredtiger_config_validate(
}
/*
+ * wiredtiger_config_validate --
+ * Validate a configuration string.
+ */
+int
+wiredtiger_config_validate(
+ WT_SESSION *wt_session, WT_EVENT_HANDLER *event_handler, const char *name, const char *config)
+{
+ return (__config_validate(wt_session, event_handler, name, config, __wt_conn_config_match));
+}
+
+/*
+ * wiredtiger_test_config_validate --
+ * Validate a test configuration string.
+ */
+int
+wiredtiger_test_config_validate(
+ WT_SESSION *wt_session, WT_EVENT_HANDLER *event_handler, const char *name, const char *config)
+{
+ return (__config_validate(wt_session, event_handler, name, config, __wt_test_config_match));
+}
+
+/*
* __conn_foc_add --
* Add a new entry into the connection's free-on-close list.
*/