return NULL;
}
- subcs->item.filename = ci->filename;
- subcs->item.lineno = ci->lineno;
+ cf_filename_set(subcs, ci->filename);
+ cf_lineno_set(subcs, ci->lineno);
cf_item_add(outer_cs, &(subcs->item));
ptr = next + 1;
cp2 = cf_pair_dup(cs, cp1);
if (!cp2) return false;
- cp2->item.filename = cp1->item.filename;
- cp2->item.lineno = cp1->item.lineno;
-
+ cf_filename_set(cp2, cp1->item.filename);
+ cf_lineno_set(cp2, cp1->item.lineno);
cf_item_add(cs, &(cp2->item));
continue;
}
false);
if (!subcs2) return false;
- subcs2->item.filename = subcs1->item.filename;
- subcs2->item.lineno = subcs1->item.lineno;
-
+ cf_filename_set(subcs2, subcs1->item.filename);
+ cf_lineno_set(subcs2, subcs1->item.lineno);
cf_item_add(cs, &(subcs2->item));
continue;
}
MEM(file = talloc(tree, cf_file_t));
- file->filename = filename;
+ file->filename = talloc_strdup(file, filename); /* The rest of the code expects this to be a talloced buffer */
file->cs = cs;
file->from_dir = from_dir;
file = talloc(tree, cf_file_t);
if (!file) return false;
- file->filename = filename;
+ file->filename = talloc_strdup(file, filename); /* The rest of the code expects this to be talloced */
file->cs = cs;
if (!check_perms) {
cf_log_err(parent, "Failed allocating memory for section");
return NULL;
}
- cs->item.filename = frame->filename;
- cs->item.lineno = frame->lineno;
+ cf_filename_set(cs, frame->filename);
+ cf_lineno_set(cs, frame->lineno);
/*
* Skip (...) to find the {
frame->filename, frame->lineno);
return NULL;
}
- css->item.filename = frame->filename;
- css->item.lineno = frame->lineno;
+ cf_filename_set(css, frame->filename);
+ cf_lineno_set(css, frame->lineno);
css->name2_quote = T_BARE_WORD;
css->argc = 0;
cp = cf_pair_alloc(parent, attr, value, op_token, name1_token, value_token);
if (!cp) return -1;
- cp->item.filename = filename;
- cp->item.lineno = lineno;
+ cf_filename_set(cp, filename);
+ cf_lineno_set(cp, lineno);
cp->pass2 = pass2;
cf_item_add(parent, &(cp->item));
return -1;
}
- css->item.filename = frame->filename;
- css->item.lineno = frame->lineno;
+ cf_filename_set(css, frame->filename);
+ cf_lineno_set(css, frame->lineno);
css->name2_quote = name2_token;
/*
/*
* All of the file handling code is done. Parse the input.
- */
+ */
do {
fr_skip_whitespace(ptr);
if (!*ptr || (*ptr == '#')) break;
new->depth = cs->depth;
}
- new->item.lineno = cs->item.lineno;
- new->item.filename = cs->item.filename;
+ cf_filename_set(new, cs->item.filename);
+ cf_lineno_set(new, cs->item.lineno);
fr_cursor_copy(&cursor, &cs->item.cursor); /* Mutable cursor */
for (ci = fr_cursor_head(&cursor);
cp->lhs_quote = lhs_quote;
cp->rhs_quote = rhs_quote;
cp->op = op;
- cp->item.filename = ""; /* will be over-written if necessary */
+ cf_filename_set(cp, ""); /* will be over-written if necessary */
fr_cursor_init(&cp->item.cursor, &cp->item.child);
cp->attr = talloc_typed_strdup(cp, attr);
rad_assert(parent);
rad_assert(cp);
- new = cf_pair_alloc(parent, cp->attr, cf_pair_value(cp),
- cp->op, cp->lhs_quote, cp->rhs_quote);
+ new = cf_pair_alloc(parent, cp->attr, cf_pair_value(cp), cp->op, cp->lhs_quote, cp->rhs_quote);
if (!new) return NULL;
new->parsed = cp->parsed;
- new->item.lineno = cp->item.lineno;
- new->item.filename = cp->item.filename;
+ cf_lineno_set(new, cp->item.lineno);
+ cf_filename_set(new, cp->item.filename);
return new;
}
return NULL;
}
cd->is_talloced = true;
- cd->item.filename = filename;
- cd->item.lineno = lineno;
-
+ cf_filename_set(cd, filename);
+ cf_lineno_set(cd, lineno);
cf_item_add(ci, cd);
return cd;
return NULL;
}
cd->is_talloced = false;
- cd->item.filename = filename;
- cd->item.lineno = lineno;
-
+ cf_filename_set(cd, filename);
+ cf_lineno_set(cd, lineno);
cf_item_add(ci, cd);
return cd;