diff options
-rw-r--r-- | src/conn/conn_api.c | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/src/conn/conn_api.c b/src/conn/conn_api.c index 33e04826644..12c9bec31ef 100644 --- a/src/conn/conn_api.c +++ b/src/conn/conn_api.c @@ -524,7 +524,6 @@ __wt_extractor_config(WT_SESSION_IMPL *session, const char *config, { WT_CONNECTION_IMPL *conn; WT_CONFIG_ITEM cval; - WT_DECL_RET; WT_NAMED_EXTRACTOR *nextractor; *extractorp = NULL; @@ -532,35 +531,35 @@ __wt_extractor_config(WT_SESSION_IMPL *session, const char *config, conn = S2C(session); - if ((ret = - __wt_config_getones_none(session, config, "extractor", &cval)) != 0) - return (ret == WT_NOTFOUND || cval.len == 0 ? 0 : ret); - - if (cval.len > 0) { - TAILQ_FOREACH(nextractor, &conn->extractorqh, q) - if (WT_STRING_MATCH( - nextractor->name, cval.str, cval.len)) - break; + WT_CLEAR(cval); + WT_RET_NOTFOUND_OK( + __wt_config_getones_none(session, config, "extractor", &cval)); + if (cval.len == 0) + return (0); - if (nextractor == NULL) - WT_RET_MSG(session, EINVAL, - "unknown extractor '%.*s'", - (int)cval.len, cval.str); - - if (nextractor->extractor->customize != NULL) { - WT_RET(__wt_config_getones(session, - config, "app_metadata", &cval)); - WT_RET(nextractor->extractor->customize( - nextractor->extractor, &session->iface, - session->dhandle->name, &cval, extractorp)); - } + TAILQ_FOREACH(nextractor, &conn->extractorqh, q) + if (WT_STRING_MATCH( + nextractor->name, cval.str, cval.len)) + break; - if (*extractorp == NULL) - *extractorp = nextractor->extractor; - else - *ownp = 1; + if (nextractor == NULL) + WT_RET_MSG(session, EINVAL, + "unknown extractor '%.*s'", + (int)cval.len, cval.str); + + if (nextractor->extractor->customize != NULL) { + WT_RET(__wt_config_getones(session, + config, "app_metadata", &cval)); + WT_RET(nextractor->extractor->customize( + nextractor->extractor, &session->iface, + session->dhandle->name, &cval, extractorp)); } + if (*extractorp == NULL) + *extractorp = nextractor->extractor; + else + *ownp = 1; + return (0); } |