type_stringlist_accum = { set_stringlist_accum, free_stringlistlist },
type_string_accum = { set_string_accum, free_stringlist },
type_sample_format = { set_sample_format, free_none },
+#if HAVE_PCRE_H
type_namepart = { set_namepart, free_namepartlist },
type_transform = { set_transform, free_transformlist },
+#endif
type_netaddress = { set_netaddress, free_netaddress },
type_rights = { set_rights, free_string };
for(n = 0; n < nvec; ++n)
if(vec[n][0] != '/') {
- disorder_error(errno, "%s:%d: %s: not an absolute path",
+ disorder_error(0, "%s:%d: %s: not an absolute path",
cs->path, cs->line, vec[n]);
return -1;
}
static int validate_non_negative(const struct config_state *cs,
int nvec, char **vec) {
long n;
+ char errbuf[1024];
if(nvec < 1) {
disorder_error(0, "%s:%d: missing argument", cs->path, cs->line);
return -1;
}
if(xstrtol(&n, vec[0], 0, 0)) {
- disorder_error(0, "%s:%d: %s", cs->path, cs->line, strerror(errno));
+ disorder_error(0, "%s:%d: %s", cs->path, cs->line,
+ format_error(ec_errno, errno, errbuf, sizeof errbuf));
return -1;
}
if(n < 0) {
static int validate_positive(const struct config_state *cs,
int nvec, char **vec) {
long n;
+ char errbuf[1024];
if(nvec < 1) {
disorder_error(0, "%s:%d: missing argument", cs->path, cs->line);
return -1;
}
if(xstrtol(&n, vec[0], 0, 0)) {
- disorder_error(0, "%s:%d: %s", cs->path, cs->line, strerror(errno));
+ disorder_error(0, "%s:%d: %s", cs->path, cs->line,
+ format_error(ec_errno, errno, errbuf, sizeof errbuf));
return -1;
}
if(n <= 0) {