}
int config_item_table_lookup(
- void *table,
+ const void *table,
const char *section,
const char *lvalue,
ConfigParserCallback *func,
void **data,
void *userdata) {
- ConfigTableItem *t;
+ const ConfigTableItem *t;
assert(table);
assert(lvalue);
}
int config_item_perf_lookup(
- void *table,
+ const void *table,
const char *section,
const char *lvalue,
ConfigParserCallback *func,
const char *filename,
unsigned line,
ConfigItemLookup lookup,
- void *table,
+ const void *table,
const char *section,
unsigned section_line,
const char *lvalue,
unsigned line,
const char *sections,
ConfigItemLookup lookup,
- void *table,
+ const void *table,
bool relaxed,
bool allow_include,
char **section,
FILE *f,
const char *sections,
ConfigItemLookup lookup,
- void *table,
+ const void *table,
bool relaxed,
bool allow_include,
void *userdata) {
if (!f) {
f = ours = fopen(filename, "re");
if (!f) {
- log_error("Failed to open configuration file '%s': %m", filename);
- return -errno;
+ log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, "Failed to open configuration file '%s': %m", filename);
+ return errno == ENOENT ? 0 : -errno;
}
}
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
char *n;
- n = cunescape_length(w, l);
+ n = strndup(w, l);
if (!n)
return log_oom();