chiark / gitweb /
Provide for a network initialization step
[disorder] / lib / configuration.c
index cf9b1612c25dabaca02d2ee123fd7caebad107a2..62ccf1b5df614aff6f0776a0350cd14bc020e40a 100644 (file)
@@ -632,8 +632,10 @@ static const struct conftype
   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 };
 
@@ -750,6 +752,7 @@ static int validate_tracklength(const struct config_state *cs,
 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);
@@ -760,7 +763,8 @@ static int validate_non_negative(const struct config_state *cs,
     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) {
@@ -779,6 +783,7 @@ static int validate_non_negative(const struct config_state *cs,
 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);
@@ -789,7 +794,8 @@ static int validate_positive(const struct config_state *cs,
     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) {