CONF_SECTION *cf_item_parent(CONF_ITEM const *ci);
bool cf_item_is_section(CONF_ITEM const *item);
bool cf_item_is_pair(CONF_ITEM const *item);
-CONF_PAIR *cf_itemtopair(CONF_ITEM const *item);
-CONF_SECTION *cf_itemtosection(CONF_ITEM const *item);
-CONF_ITEM *cf_pairtoitem(CONF_PAIR const *cp);
-CONF_ITEM *cf_sectiontoitem(CONF_SECTION const *cs);
+CONF_PAIR *cf_item_to_pair(CONF_ITEM const *item);
+CONF_SECTION *cf_item_to_section(CONF_ITEM const *item);
+CONF_ITEM *cf_pair_to_item(CONF_PAIR const *cp);
+CONF_ITEM *cf_section_to_item(CONF_SECTION const *cs);
void cf_log_err(CONF_ITEM const *ci, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
void cf_log_err_cs(CONF_SECTION const *cs, char const *fmt, ...) CC_HINT(format (printf, 2, 3));
RDEBUG2("%s = '%s'", vp->da->name, value);
cp = cf_pair_alloc(c->cs, vp->da->name, value, T_OP_SET, T_SINGLE_QUOTED_STRING);
- ci = cf_pairtoitem(cp);
+ ci = cf_pair_to_item(cp);
cf_item_add(c->cs, ci);
talloc_free(vp);
if (!cf_item_is_pair(ci)) return 0;
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
value = cf_pair_value(cp);
if (!value) return 0;
/** Cast a CONF_ITEM to a CONF_PAIR
*
*/
-CONF_PAIR *cf_itemtopair(CONF_ITEM const *ci)
+CONF_PAIR *cf_item_to_pair(CONF_ITEM const *ci)
{
CONF_PAIR *out;
/** Cast a CONF_ITEM to a CONF_SECTION
*
*/
-CONF_SECTION *cf_itemtosection(CONF_ITEM const *ci)
+CONF_SECTION *cf_item_to_section(CONF_ITEM const *ci)
{
CONF_SECTION *out;
/** Cast a CONF_PAIR to a CONF_ITEM
*
*/
-CONF_ITEM *cf_pairtoitem(CONF_PAIR const *cp)
+CONF_ITEM *cf_pair_to_item(CONF_PAIR const *cp)
{
CONF_ITEM *out;
/** Cast a CONF_SECTION to a CONF_ITEM
*
*/
-CONF_ITEM *cf_sectiontoitem(CONF_SECTION const *cs)
+CONF_ITEM *cf_section_to_item(CONF_SECTION const *cs)
{
CONF_ITEM *out;
/** Cast CONF_DATA to a CONF_ITEM
*
*/
-static CONF_ITEM *cf_datatoitem(CONF_DATA const *cd)
+static CONF_ITEM *cf_data_to_item(CONF_DATA const *cd)
{
CONF_ITEM *out;
*/
void cf_pair_add(CONF_SECTION *parent, CONF_PAIR *cp)
{
- cf_item_add(parent, cf_pairtoitem(cp));
+ cf_item_add(parent, cf_pair_to_item(cp));
}
/** Allocate a CONF_SECTION
ci;
ci = cf_item_find_next(cs, ci)) {
if (cf_item_is_section(ci)) {
- child = cf_itemtosection(ci);
+ child = cf_item_to_section(ci);
child = cf_section_dup(new, child, cf_section_name1(child), cf_section_name2(child));
if (!child) {
talloc_free(new);
}
if (cf_item_is_pair(ci)) {
- cp = cf_pair_dup(new, cf_itemtopair(ci));
+ cp = cf_pair_dup(new, cf_item_to_pair(ci));
if (!cp) {
talloc_free(new);
return NULL;
switch (ci->type) {
case CONF_ITEM_PAIR:
if (!rbtree_insert(cs->pair_tree, ci)) {
- CONF_PAIR *cp = cf_itemtopair(ci);
+ CONF_PAIR *cp = cf_item_to_pair(ci);
if (strcmp(cp->attr, "confdir") == 0) break;
if (!cp->value) break; /* module name, "ok", etc. */
break;
case CONF_ITEM_SECTION: {
- CONF_SECTION *cs_new = cf_itemtosection(ci);
+ CONF_SECTION *cs_new = cf_item_to_section(ci);
CONF_SECTION *name1_cs;
if (!cs->section_tree) {
* Just '.' means the current section
*/
if (*p == '\0') {
- return cf_sectiontoitem(cs);
+ return cf_section_to_item(cs);
}
/*
* enclosing this section
*/
if (!*++p) {
- return cf_sectiontoitem(cs);
+ return cf_section_to_item(cs);
}
}
* it's the property of a section.
*/
if (q) {
- CONF_SECTION *mycs = cf_itemtosection(ci);
+ CONF_SECTION *mycs = cf_item_to_section(ci);
if (ci->type != CONF_ITEM_SECTION) {
ERROR("%s[%d]: Can only reference properties of sections", cf, *lineno);
/*
* Substitute the value of the variable.
*/
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
if (!cp->value) {
ERROR("%s[%d]: Reference \"%s\" has no value",
cf, *lineno, input);
* Copy the section instead of
* referencing it.
*/
- subcs = cf_template_copy(outercs, cf_itemtosection(ci));
+ subcs = cf_template_copy(outercs, cf_item_to_section(ci));
if (!subcs) {
ERROR("%s[%d]: Failed copying reference %s", cf, *lineno, name);
return NULL;
if (ci->type == CONF_ITEM_PAIR) {
CONF_PAIR *cp1, *cp2;
- cp1 = cf_itemtopair(ci);
+ cp1 = cf_item_to_pair(ci);
cp2 = cf_pair_alloc(cs, cp1->attr, cp1->value, cp1->op, cp1->value_type);
if (!cp2) return false;
if (ci->type == CONF_ITEM_SECTION) {
CONF_SECTION *subcs1, *subcs2;
- subcs1 = cf_itemtosection(ci);
+ subcs1 = cf_item_to_section(ci);
subcs2 = cf_template_copy(cs, subcs1);
subcs2->item.filename = subcs1->item.filename;
/*
* It exists, don't over-write it.
*/
- cp1 = cf_itemtopair(ci);
+ cp1 = cf_item_to_pair(ci);
if (cf_pair_find(cs, cp1->attr)) {
continue;
}
if (ci->type == CONF_ITEM_SECTION) {
CONF_SECTION *subcs1, *subcs2;
- subcs1 = cf_itemtosection(ci);
+ subcs1 = cf_item_to_section(ci);
rad_assert(subcs1 != NULL);
subcs2 = cf_section_sub_find_name2(cs, subcs1->name1, subcs1->name2);
return -1;
}
- this->template = cf_itemtosection(ci);
+ this->template = cf_item_to_section(ci);
continue;
}
/*
* Skip (...) to find the {
*/
- slen = fr_condition_tokenize(nextcs, cf_sectiontoitem(nextcs), ptr, &cond,
+ slen = fr_condition_tokenize(nextcs, cf_section_to_item(nextcs), ptr, &cond,
&error, FR_COND_TWO_PASS);
memcpy(&p, &ptr, sizeof(p));
nextcs->item.filename = talloc_strdup(nextcs, filename);
nextcs->item.lineno = *lineno;
- slen = fr_condition_tokenize(nextcs, cf_sectiontoitem(nextcs), ptr, &cond,
+ slen = fr_condition_tokenize(nextcs, cf_section_to_item(nextcs), ptr, &cond,
&error, FR_COND_TWO_PASS);
*p = '{'; /* put it back */
if (ci->type != CONF_ITEM_SECTION)
continue;
- if (strcmp(cf_itemtosection(ci)->name1, name1) != 0) {
+ if (strcmp(cf_item_to_section(ci)->name1, name1) != 0) {
continue;
}
- their2 = cf_itemtosection(ci)->name2;
+ their2 = cf_item_to_section(ci)->name2;
if ((!name2 && !their2) ||
(name2 && their2 && (strcmp(name2, their2) == 0))) {
- return cf_itemtosection(ci);
+ return cf_item_to_section(ci);
}
}
ci = ci->next) {
if (ci->type != CONF_ITEM_PAIR) continue;
- if (!attr || strcmp(cf_itemtopair(ci)->attr, attr) == 0) break;
+ if (!attr || strcmp(cf_item_to_pair(ci)->attr, attr) == 0) break;
}
- return cf_itemtopair(ci);
+ return cf_item_to_pair(ci);
}
/*
if (ci->type != CONF_ITEM_SECTION)
continue;
- subcs = cf_itemtosection(ci);
+ subcs = cf_item_to_section(ci);
if (!subcs->name2) {
if (strcmp(subcs->name1, name2) == 0) break;
} else {
}
}
- return cf_itemtosection(ci);
+ return cf_item_to_section(ci);
}
/*
if (ci->type != CONF_ITEM_SECTION)
continue;
if ((name1 == NULL) ||
- (strcmp(cf_itemtosection(ci)->name1, name1) == 0))
+ (strcmp(cf_item_to_section(ci)->name1, name1) == 0))
break;
}
- return cf_itemtosection(ci);
+ return cf_item_to_section(ci);
}
ci = cf_item_find_next(cs, ci)) {
if (cf_item_is_section(ci)) {
- _pair_count(count, cf_itemtosection(ci));
+ _pair_count(count, cf_item_to_section(ci));
continue;
}
if (!cd) return -1;
cd->flag = flag;
- cf_item_add(cs, cf_datatoitem(cd));
+ cf_item_add(cs, cf_data_to_item(cd));
return 0;
}
int ret;
#define CONNECTION_POOL_CF_KEY "connection_pool"
-#define parent_name(_x) cf_section_name(cf_item_parent(cf_sectiontoitem(_x)))
+#define parent_name(_x) cf_section_name(cf_item_parent(cf_section_to_item(_x)))
cs_name1 = cf_section_name1(module);
cs_name2 = cf_section_name2(module);
return -1;
}
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
/*
* Ensure that we only copy what's necessary.
map = talloc_zero(ctx, value_pair_map_t);
map->op = cf_pair_operator(cp);
- map->ci = cf_pairtoitem(cp);
+ map->ci = cf_pair_to_item(cp);
attr = cf_pair_attr(cp);
value = cf_pair_value(cp);
*/
parent = cs;
- ci = cf_sectiontoitem(cs);
+ ci = cf_section_to_item(cs);
cs_list = p = cf_section_name2(cs);
if (cs_list) {
goto error;
}
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
if (map_afrom_cp(parent, &map, cp, request_def, dst_list_def, REQUEST_CURRENT, src_list_def) < 0) {
goto error;
}
if (map->rhs->type == TMPL_TYPE_LIST) {
pairfree(list);
*list = head;
+ head = NULL;
} else {
case T_OP_EQ:
rad_assert(map->rhs->type == TMPL_TYPE_EXEC);
cond.data.map = ↦
map.op = T_OP_CMP_EQ;
- map.ci = cf_sectiontoitem(g->cs);
+ map.ci = cf_section_to_item(g->cs);
rad_assert(g->vpt != NULL);
*/
int modcall_fixup_update(value_pair_map_t *map, UNUSED void *ctx)
{
- CONF_PAIR *cp = cf_itemtopair(map->ci);
+ CONF_PAIR *cp = cf_item_to_pair(map->ci);
/*
* Anal-retentive checks.
return NULL;
}
- subcs = cf_itemtosection(ci); /* can't return NULL */
+ subcs = cf_item_to_section(ci); /* can't return NULL */
name1 = cf_section_name1(subcs);
if (strcmp(name1, "case") != 0) {
for (cs = cf_item_parent(ci);
cs != NULL;
- cs = cf_item_parent(cf_sectiontoitem(cs))) {
+ cs = cf_item_parent(cf_section_to_item(cs))) {
if (strcmp(cf_section_name1(cs), "foreach") == 0) {
break;
}
* from doing crazy things.
*/
if (cf_item_is_section(ci)) {
- CONF_SECTION *subcs = cf_itemtosection(ci);
+ CONF_SECTION *subcs = cf_item_to_section(ci);
char const *name1 = cf_section_name1(subcs);
if ((strcmp(name1, "if") == 0) ||
}
if (cf_item_is_pair(ci)) {
- CONF_PAIR *cp = cf_itemtopair(ci);
+ CONF_PAIR *cp = cf_item_to_pair(ci);
if (cf_pair_value(cp) != NULL) {
cf_log_err(ci,
"Entry with no value is invalid");
if (cf_item_is_section(ci)) {
char const *name2;
- cs = cf_itemtosection(ci);
+ cs = cf_item_to_section(ci);
modrefname = cf_section_name1(cs);
name2 = cf_section_name2(cs);
if (!name2) name2 = "";
*/
} else {
CONF_SECTION *loop;
- CONF_PAIR *cp = cf_itemtopair(ci);
+ CONF_PAIR *cp = cf_item_to_pair(ci);
modrefname = cf_pair_attr(cp);
/*
*/
for (loop = cf_item_parent(ci);
loop && subcs;
- loop = cf_item_parent(cf_sectiontoitem(loop))) {
+ loop = cf_item_parent(cf_section_to_item(loop))) {
if (loop == subcs) {
subcs = NULL;
}
if (cf_section_name2(subcs)) {
return do_compile_modsingle(parent,
component,
- cf_sectiontoitem(subcs),
+ cf_section_to_item(subcs),
grouptype,
modname);
} else {
if (cf_item_is_section(ci)) {
CONF_ITEM *csi;
- cs = cf_itemtosection(ci);
+ cs = cf_item_to_section(ci);
for (csi=cf_item_find_next(cs, NULL);
csi != NULL;
csi=cf_item_find_next(cs, csi)) {
if (!cf_item_is_pair(csi)) continue;
- if (!compile_action(csingle, cf_itemtopair(csi))) {
+ if (!compile_action(csingle, cf_item_to_pair(csi))) {
talloc_free(csingle);
return NULL;
}
if (cf_item_is_section(ci)) {
char const *junk = NULL;
modcallable *single;
- CONF_SECTION *subcs = cf_itemtosection(ci);
+ CONF_SECTION *subcs = cf_item_to_section(ci);
single = do_compile_modsingle(c, component, ci,
grouptype, &junk);
} else {
char const *attr, *value;
- CONF_PAIR *cp = cf_itemtopair(ci);
+ CONF_PAIR *cp = cf_item_to_pair(ci);
attr = cf_pair_attr(cp);
value = cf_pair_value(cp);
&junk);
if (!single) {
if (cf_item_is_pair(ci) &&
- cf_pair_attr(cf_itemtopair(ci))[0] == '-') {
+ cf_pair_attr(cf_item_to_pair(ci))[0] == '-') {
continue;
}
}
if (cf_item_is_pair(ci)) {
- CONF_PAIR *cp = cf_itemtopair(ci);
+ CONF_PAIR *cp = cf_item_to_pair(ci);
WARN("%s[%d] Please change %%{%s} to &%s",
cf_pair_filename(cp), cf_pair_lineno(cp),
attr->name, attr->name);
} else {
- CONF_SECTION *cs = cf_itemtosection(ci);
+ CONF_SECTION *cs = cf_item_to_section(ci);
WARN("%s[%d] Please change %%{%s} to &%s",
cf_section_filename(cs), cf_section_lineno(cs),
* Statically compile xlats
*/
if (g->vpt->type == TMPL_TYPE_XLAT) {
- if (!pass2_xlat_compile(cf_sectiontoitem(g->cs),
+ if (!pass2_xlat_compile(cf_section_to_item(g->cs),
&g->vpt, true, NULL)) {
return false;
}
* attribute of a different type.
*/
if (f->vpt->type == TMPL_TYPE_ATTR) {
- if (!pass2_xlat_compile(cf_sectiontoitem(g->cs),
+ if (!pass2_xlat_compile(cf_section_to_item(g->cs),
&g->vpt, true, f->vpt->tmpl_da)) {
return false;
}
} else {
- if (!pass2_xlat_compile(cf_sectiontoitem(g->cs),
+ if (!pass2_xlat_compile(cf_section_to_item(g->cs),
&g->vpt, true, NULL)) {
return false;
}
* instantiation order issues.
*/
inst_name = cf_pair_value(cp);
- inst = find_module_instance(cf_item_parent(cf_sectiontoitem(module)), inst_name, true);
+ inst = find_module_instance(cf_item_parent(cf_section_to_item(module)), inst_name, true);
/*
* Remove the config data we added for loop
CONF_SECTION *scs = NULL;
if (cf_item_is_section(modref)) {
- scs = cf_itemtosection(modref);
+ scs = cf_item_to_section(modref);
name1 = cf_section_name1(scs);
cp = NULL;
} else if (cf_item_is_pair(modref)) {
- cp = cf_itemtopair(modref);
+ cp = cf_item_to_pair(modref);
} else {
continue; /* ignore it */
*/
if ((section_type_value[comp].attr == PW_AUTH_TYPE) &&
cf_item_is_pair(modref)) {
- CONF_PAIR *cp = cf_itemtopair(modref);
+ CONF_PAIR *cp = cf_item_to_pair(modref);
if (!define_type(cs, da, cf_pair_attr(cp))) {
goto error;
}
if (!cf_item_is_section(modref)) continue;
- subsubcs = cf_itemtosection(modref);
+ subsubcs = cf_item_to_section(modref);
name1 = cf_section_name1(subsubcs);
if (strcmp(name1, section_type_value[comp].typename) == 0) {
*/
if (!cf_item_is_section(ci)) continue;
- cs = cf_itemtosection(ci);
+ cs = cf_item_to_section(ci);
instname = cf_section_name2(cs);
if (!instname) instname = cf_section_name1(cs);
if (!next || !cf_item_is_section(next)) continue;
- subcs = cf_itemtosection(ci);
+ subcs = cf_item_to_section(ci);
name1 = cf_section_name1(subcs);
name2 = cf_section_name2(subcs);
- duplicate = cf_section_find_name2(cf_itemtosection(next),
+ duplicate = cf_section_find_name2(cf_item_to_section(next),
name1, name2);
if (!duplicate) continue;
* they're referenced at all...
*/
if (cf_item_is_pair(ci)) {
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
name = cf_pair_attr(cp);
module = find_module_instance(modules, name, true);
CONF_SECTION *subcs;
CONF_ITEM *subci;
- subcs = cf_itemtosection(ci);
+ subcs = cf_item_to_section(ci);
name = cf_section_name1(subcs);
/*
subci != NULL;
subci=cf_item_find_next(subcs, subci)) {
if (cf_item_is_pair(subci)) {
- cp = cf_itemtopair(subci);
+ cp = cf_item_to_pair(subci);
if (cf_pair_value(cp)) {
cf_log_err(subci, "Cannot set return codes in a %s block",
cf_section_name1(subcs));
* Register a redundant xlat
*/
if (all_same) {
- if (!xlat_register_redundant(cf_itemtosection(ci))) {
+ if (!xlat_register_redundant(cf_item_to_section(ci))) {
WARN("%s[%d] Not registering expansions for %s",
cf_section_filename(subcs), cf_section_lineno(subcs),
cf_section_name2(subcs));
if (!cf_item_is_section(ci)) continue;
- subcs = cf_itemtosection(ci);
+ subcs = cf_item_to_section(ci);
name = cf_section_name2(subcs);
if (!name) name = cf_section_name1(subcs);
home->src_ipaddr.af = home->ipaddr.af;
}
- parent = cf_item_parent(cf_sectiontoitem(cs));
+ parent = cf_item_parent(cf_section_to_item(cs));
if (parent && strcmp(cf_section_name1(parent), "server") == 0) {
home->parent_server = cf_section_name2(parent);
}
return;
}
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
if (!cp) return;
value = cf_pair_value(cp);
if (!cf_item_is_pair(ci)) continue;
- name = cf_pair_attr(cf_itemtopair(ci));
+ name = cf_pair_attr(cf_item_to_pair(ci));
rad_assert(name != NULL);
xlat = xlat_find(name);
* Plain load balancing: do one child, and only one child.
*/
if (xr->type == XLAT_LOAD_BALANCE) {
- name = cf_pair_attr(cf_itemtopair(found));
+ name = cf_pair_attr(cf_item_to_pair(found));
rad_assert(name != NULL);
xlat = xlat_find(name);
*/
ci = found;
do {
- name = cf_pair_attr(cf_itemtopair(ci));
+ name = cf_pair_attr(cf_item_to_pair(ci));
rad_assert(name != NULL);
xlat = xlat_find(name);
ci = cf_item_find_next(cs, ci)) {
if (!cf_item_is_pair(ci)) continue;
- if (!xlat_find(cf_pair_attr(cf_itemtopair(ci)))) {
+ if (!xlat_find(cf_pair_attr(cf_item_to_pair(ci)))) {
talloc_free(xr);
return false;
}
}
/* get value pair from item */
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
/* get pair name (element name) */
element = cf_pair_attr(cp);
if (cf_item_is_section(ci)) {
CONF_SECTION *cs, *cc; /* local scoped for new section */
- cs = cf_itemtosection(ci);
+ cs = cf_item_to_section(ci);
cc = cf_section_alloc(client, cf_section_name1(cs), cf_section_name2(cs));
if (!cc) return -1;
}
/* create pair from item and get attribute name and value */
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
attribute = cf_pair_attr(cp);
element = cf_pair_value(cp);
}
/* add pair to section */
- cf_item_add(client, cf_pairtoitem(cp));
+ cf_item_add(client, cf_pair_to_item(cp));
}
/* return success */
if (!cf_item_is_pair(ci)) continue;
- attr = cf_pair_attr(cf_itemtopair(ci));
+ attr = cf_pair_attr(cf_item_to_pair(ci));
if (!attr) continue; /* pair-anoia */
da = dict_attrbyname(attr);
rad_assert(attr != NULL);
- parent = cf_item_parent(cf_sectiontoitem(cs));
+ parent = cf_item_parent(cf_section_to_item(cs));
cp = cf_pair_find(cs, attr);
if (cp) {
char const *value;
if (cf_item_is_section(ci)) {
- if (rlm_ldap_client_get_attrs(values, idx, cf_itemtosection(ci)) < 0) return -1;
+ if (rlm_ldap_client_get_attrs(values, idx, cf_item_to_section(ci)) < 0) return -1;
continue;
}
- value = cf_pair_value(cf_itemtopair(ci));
+ value = cf_pair_value(cf_item_to_pair(ci));
if (!value) return -1;
values[(*idx)++] = value;
if (cf_item_is_section(ci)) {
CONF_SECTION *cs, *cc;
- cs = cf_itemtosection(ci);
+ cs = cf_item_to_section(ci);
cc = cf_section_alloc(client, cf_section_name1(cs), cf_section_name2(cs));
if (!cc) return -1;
continue;
}
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
attr = cf_pair_attr(cp);
values = ldap_get_values_len(conn->handle, entry, cf_pair_value(cp));
}
talloc_free(value);
ldap_value_free_len(values);
- cf_item_add(client, cf_pairtoitem(cp));
+ cf_item_add(client, cf_pair_to_item(cp));
}
return 0;
cp = cf_pair_alloc(conf, "server", buff, T_OP_EQ, T_SINGLE_QUOTED_STRING);
if (!cp) return -1;
- ci = cf_pairtoitem(cp);
+ ci = cf_pair_to_item(cp);
cf_item_add(conf, ci);
break;
goto error;
}
- cs = cf_section_sub_find(cf_itemtosection(ci), "update");
+ cs = cf_section_sub_find(cf_item_to_section(ci), "update");
if (!cs) {
REDEBUG("Section must contain 'update' subsection");
/*
* Retrieve all the information we need about the pair
*/
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
value = cf_pair_value(cp);
attr = cf_pair_attr(cp);
op = cf_pair_operator(cp);
goto do_log;
}
- cp = cf_itemtopair(ci);
+ cp = cf_item_to_pair(ci);
value = cf_pair_value(cp);
if (!value) {
RDEBUG2("Entry \"%s\" has no value", line);
* Then recursively call perl_parse_config with this section and the new HV.
*/
if (cf_item_is_section(ci)) {
- CONF_SECTION *sub_cs = cf_itemtosection(ci);
+ CONF_SECTION *sub_cs = cf_item_to_section(ci);
char const *key = cf_section_name1(sub_cs); /* hash key */
HV *sub_hv;
SV *ref;
perl_parse_config(sub_cs, lvl + 1, sub_hv);
} else if (cf_item_is_pair(ci)){
- CONF_PAIR *cp = cf_itemtopair(ci);
+ CONF_PAIR *cp = cf_item_to_pair(ci);
char const *key = cf_pair_attr(cp); /* hash key */
char const *value = cf_pair_value(cp); /* hash value */
goto finish;
}
- pair = cf_itemtopair(item);
+ pair = cf_item_to_pair(item);
attr = cf_pair_attr(pair);
RDEBUG2("Using query template '%s'", attr);