Reformat sourcecode with clang-format-6.0
authorHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Tue, 6 Feb 2018 14:23:58 +0000 (15:23 +0100)
committerHenning Rogge <henning.rogge@fkie.fraunhofer.de>
Tue, 6 Feb 2018 14:23:58 +0000 (15:23 +0100)
246 files changed:
.clang-format
src-api/common/autobuf.c
src-api/common/autobuf.h
src-api/common/avl.c
src-api/common/avl.h
src-api/common/bitmap256.c
src-api/common/bitmap256.h
src-api/common/bitstream.c
src-api/common/bitstream.h
src-api/common/common_types.h
src-api/common/container_of.h
src-api/common/isonumber.c
src-api/common/isonumber.h
src-api/common/json.c
src-api/common/json.h
src-api/common/list.h
src-api/common/netaddr.c
src-api/common/netaddr.h
src-api/common/netaddr_acl.c
src-api/common/string.c
src-api/common/string.h
src-api/common/template.c
src-api/common/template.h
src-api/config/cfg.c
src-api/config/cfg.h
src-api/config/cfg_cmd.c
src-api/config/cfg_cmd.h
src-api/config/cfg_db.c
src-api/config/cfg_db.h
src-api/config/cfg_help.c
src-api/config/cfg_help.h
src-api/config/cfg_io.c
src-api/config/cfg_io.h
src-api/config/cfg_schema.c
src-api/config/cfg_schema.h
src-api/config/cfg_tobin.c
src-api/config/cfg_tobin.h
src-api/config/cfg_validate.c
src-api/config/cfg_validate.h
src-api/core/oonf_cfg.c
src-api/core/oonf_cfg.h
src-api/core/oonf_logging.c
src-api/core/oonf_logging.h
src-api/core/oonf_logging_cfg.c
src-api/core/oonf_logging_cfg.h
src-api/core/oonf_main.c
src-api/core/oonf_subsystem.c
src-api/core/oonf_subsystem.h
src-api/core/os_generic/os_core_generic_syslog.c
src-api/core/os_generic/os_core_generic_syslog.h
src-api/core/os_linux/os_core_linux.c
src-api/core/os_linux/os_core_linux.h
src-plugins/crypto/hash_polarssl/hash_polarssl.c
src-plugins/crypto/hash_tomcrypt/hash_tomcrypt.c
src-plugins/crypto/rfc5444_signature/rfc5444_signature.c
src-plugins/crypto/rfc5444_signature/rfc5444_signature.h
src-plugins/crypto/rfc7182_provider/rfc7182_provider.c
src-plugins/crypto/rfc7182_provider/rfc7182_provider.h
src-plugins/crypto/sharedkey_sig/sharedkey_sig.c
src-plugins/crypto/simple_security/simple_security.c
src-plugins/crypto/simple_security/simple_security.h
src-plugins/generic/cfg_compact/cfg_compact.c
src-plugins/generic/cfg_uciloader/cfg_uciloader.c
src-plugins/generic/dlep/dlep_extension.c
src-plugins/generic/dlep/dlep_extension.h
src-plugins/generic/dlep/dlep_iana.h
src-plugins/generic/dlep/dlep_interface.c
src-plugins/generic/dlep/dlep_interface.h
src-plugins/generic/dlep/dlep_reader.c
src-plugins/generic/dlep/dlep_reader.h
src-plugins/generic/dlep/dlep_session.c
src-plugins/generic/dlep/dlep_session.h
src-plugins/generic/dlep/dlep_writer.c
src-plugins/generic/dlep/dlep_writer.h
src-plugins/generic/dlep/ext_base_ip/ip.c
src-plugins/generic/dlep/ext_base_metric/metric.c
src-plugins/generic/dlep/ext_base_proto/proto.c
src-plugins/generic/dlep/ext_base_proto/proto.h
src-plugins/generic/dlep/ext_base_proto/proto_radio.c
src-plugins/generic/dlep/ext_base_proto/proto_router.c
src-plugins/generic/dlep/ext_l1_statistics/l1_statistics.c
src-plugins/generic/dlep/ext_l2_statistics/l2_statistics.c
src-plugins/generic/dlep/ext_radio_attributes/radio_attributes.c
src-plugins/generic/dlep/radio/dlep_radio.c
src-plugins/generic/dlep/radio/dlep_radio_interface.c
src-plugins/generic/dlep/radio/dlep_radio_interface.h
src-plugins/generic/dlep/radio/dlep_radio_session.c
src-plugins/generic/dlep/radio/dlep_radio_session.h
src-plugins/generic/dlep/router/dlep_router.c
src-plugins/generic/dlep/router/dlep_router_interface.c
src-plugins/generic/dlep/router/dlep_router_interface.h
src-plugins/generic/dlep/router/dlep_router_session.c
src-plugins/generic/dlep/router/dlep_router_session.h
src-plugins/generic/eth_listener/eth_listener.c
src-plugins/generic/eth_listener/ethtool-copy.h
src-plugins/generic/example/example.c
src-plugins/generic/layer2_config/layer2_config.c
src-plugins/generic/layer2_config/layer2_config.h
src-plugins/generic/layer2_generator/layer2_generator.c
src-plugins/generic/layer2info/layer2info.c
src-plugins/generic/link_config/link_config.c
src-plugins/generic/link_config/link_config.h
src-plugins/generic/nl80211_listener/genl_get_family.c
src-plugins/generic/nl80211_listener/genl_get_family.h
src-plugins/generic/nl80211_listener/nl80211.h
src-plugins/generic/nl80211_listener/nl80211_get_interface.c
src-plugins/generic/nl80211_listener/nl80211_get_interface.h
src-plugins/generic/nl80211_listener/nl80211_get_mpp.c
src-plugins/generic/nl80211_listener/nl80211_get_mpp.h
src-plugins/generic/nl80211_listener/nl80211_get_station_dump.c
src-plugins/generic/nl80211_listener/nl80211_get_station_dump.h
src-plugins/generic/nl80211_listener/nl80211_get_survey.c
src-plugins/generic/nl80211_listener/nl80211_get_survey.h
src-plugins/generic/nl80211_listener/nl80211_get_wiphy.c
src-plugins/generic/nl80211_listener/nl80211_get_wiphy.h
src-plugins/generic/nl80211_listener/nl80211_listener.c
src-plugins/generic/nl80211_listener/nl80211_listener.h
src-plugins/generic/plugin_controller/plugin_controller.c
src-plugins/generic/remotecontrol/remotecontrol.c
src-plugins/generic/systeminfo/systeminfo.c
src-plugins/nhdp/auto_ll4/auto_ll4.c
src-plugins/nhdp/constant_metric/constant_metric.c
src-plugins/nhdp/ff_dat_metric/ff_dat_metric.c
src-plugins/nhdp/ff_dat_metric/ff_dat_metric.h
src-plugins/nhdp/hysteresis_olsrv1/hysteresis_olsrv1.c
src-plugins/nhdp/mpr/mpr.c
src-plugins/nhdp/mpr/neighbor-graph-flooding.c
src-plugins/nhdp/mpr/neighbor-graph-flooding.h
src-plugins/nhdp/mpr/neighbor-graph-routing.c
src-plugins/nhdp/mpr/neighbor-graph-routing.h
src-plugins/nhdp/mpr/neighbor-graph.c
src-plugins/nhdp/mpr/neighbor-graph.h
src-plugins/nhdp/mpr/selection-rfc7181.c
src-plugins/nhdp/neighbor_probing/neighbor_probing.c
src-plugins/nhdp/neighbor_probing/neighbor_probing.h
src-plugins/nhdp/nhdp/nhdp.c
src-plugins/nhdp/nhdp/nhdp.h
src-plugins/nhdp/nhdp/nhdp_db.c
src-plugins/nhdp/nhdp/nhdp_db.h
src-plugins/nhdp/nhdp/nhdp_domain.c
src-plugins/nhdp/nhdp/nhdp_domain.h
src-plugins/nhdp/nhdp/nhdp_hysteresis.c
src-plugins/nhdp/nhdp/nhdp_hysteresis.h
src-plugins/nhdp/nhdp/nhdp_interfaces.c
src-plugins/nhdp/nhdp/nhdp_interfaces.h
src-plugins/nhdp/nhdp/nhdp_reader.c
src-plugins/nhdp/nhdp/nhdp_writer.c
src-plugins/nhdp/nhdp/nhdp_writer.h
src-plugins/nhdp/nhdpcheck/nhdpcheck.c
src-plugins/nhdp/nhdpinfo/nhdpinfo.c
src-plugins/olsrv2/lan_import/lan_import.c
src-plugins/olsrv2/netjsoninfo/netjsoninfo.c
src-plugins/olsrv2/olsrv2/olsrv2.c
src-plugins/olsrv2/olsrv2/olsrv2.h
src-plugins/olsrv2/olsrv2/olsrv2_lan.c
src-plugins/olsrv2/olsrv2/olsrv2_lan.h
src-plugins/olsrv2/olsrv2/olsrv2_originator.c
src-plugins/olsrv2/olsrv2/olsrv2_reader.c
src-plugins/olsrv2/olsrv2/olsrv2_routing.c
src-plugins/olsrv2/olsrv2/olsrv2_routing.h
src-plugins/olsrv2/olsrv2/olsrv2_tc.c
src-plugins/olsrv2/olsrv2/olsrv2_tc.h
src-plugins/olsrv2/olsrv2/olsrv2_writer.c
src-plugins/olsrv2/olsrv2/olsrv2_writer.h
src-plugins/olsrv2/olsrv2_lan/olsrv2_lan.c
src-plugins/olsrv2/olsrv2_old_lan/old_lan.c
src-plugins/olsrv2/olsrv2_old_lan/old_lan.h
src-plugins/olsrv2/olsrv2info/olsrv2info.c
src-plugins/olsrv2/route_modifier/route_modifier.c
src-plugins/subsystems/oonf_class.c
src-plugins/subsystems/oonf_class.h
src-plugins/subsystems/oonf_clock.c
src-plugins/subsystems/oonf_clock.h
src-plugins/subsystems/oonf_duplicate_set.c
src-plugins/subsystems/oonf_duplicate_set.h
src-plugins/subsystems/oonf_http.c
src-plugins/subsystems/oonf_http.h
src-plugins/subsystems/oonf_layer2.c
src-plugins/subsystems/oonf_layer2.h
src-plugins/subsystems/oonf_packet_socket.c
src-plugins/subsystems/oonf_packet_socket.h
src-plugins/subsystems/oonf_rfc5444.c
src-plugins/subsystems/oonf_rfc5444.h
src-plugins/subsystems/oonf_socket.c
src-plugins/subsystems/oonf_socket.h
src-plugins/subsystems/oonf_stream_socket.c
src-plugins/subsystems/oonf_stream_socket.h
src-plugins/subsystems/oonf_telnet.c
src-plugins/subsystems/oonf_telnet.h
src-plugins/subsystems/oonf_timer.c
src-plugins/subsystems/oonf_timer.h
src-plugins/subsystems/oonf_viewer.c
src-plugins/subsystems/oonf_viewer.h
src-plugins/subsystems/os_clock.h
src-plugins/subsystems/os_fd.h
src-plugins/subsystems/os_generic/os_fd_generic_configsocket.c
src-plugins/subsystems/os_generic/os_fd_generic_configsocket.h
src-plugins/subsystems/os_generic/os_fd_generic_getrawsocket.c
src-plugins/subsystems/os_generic/os_fd_generic_getrawsocket.h
src-plugins/subsystems/os_generic/os_fd_generic_getsocket.c
src-plugins/subsystems/os_generic/os_fd_generic_getsocket.h
src-plugins/subsystems/os_generic/os_fd_generic_join_mcast.c
src-plugins/subsystems/os_generic/os_fd_generic_join_mcast.h
src-plugins/subsystems/os_generic/os_fd_generic_set_dscp.c
src-plugins/subsystems/os_generic/os_interface_generic.c
src-plugins/subsystems/os_generic/os_interface_generic.h
src-plugins/subsystems/os_generic/os_routing_generic_init_half_route_key.c
src-plugins/subsystems/os_generic/os_routing_generic_init_half_route_key.h
src-plugins/subsystems/os_generic/os_routing_generic_rt_to_string.c
src-plugins/subsystems/os_generic/os_routing_generic_rt_to_string.h
src-plugins/subsystems/os_generic/os_routing_generic_rtkey_avlcomp.c
src-plugins/subsystems/os_interface.h
src-plugins/subsystems/os_linux/os_clock_linux.c
src-plugins/subsystems/os_linux/os_fd_linux.c
src-plugins/subsystems/os_linux/os_fd_linux.h
src-plugins/subsystems/os_linux/os_interface_linux.c
src-plugins/subsystems/os_linux/os_interface_linux.h
src-plugins/subsystems/os_linux/os_interface_linux_internal.h
src-plugins/subsystems/os_linux/os_routing_linux.c
src-plugins/subsystems/os_linux/os_routing_linux.h
src-plugins/subsystems/os_linux/os_system_linux.c
src-plugins/subsystems/os_linux/os_system_linux.h
src-plugins/subsystems/os_linux/os_tunnel_linux.c
src-plugins/subsystems/os_linux/os_tunnel_linux.h
src-plugins/subsystems/os_linux/os_vif_linux.c
src-plugins/subsystems/os_routing.h
src-plugins/subsystems/os_system.h
src-plugins/subsystems/os_tunnel.h
src-plugins/subsystems/os_vif.h
src-plugins/subsystems/rfc5444/rfc5444.c
src-plugins/subsystems/rfc5444/rfc5444.h
src-plugins/subsystems/rfc5444/rfc5444_api_config.h
src-plugins/subsystems/rfc5444/rfc5444_context.c
src-plugins/subsystems/rfc5444/rfc5444_context.h
src-plugins/subsystems/rfc5444/rfc5444_iana.c
src-plugins/subsystems/rfc5444/rfc5444_iana.h
src-plugins/subsystems/rfc5444/rfc5444_msg_generator.c
src-plugins/subsystems/rfc5444/rfc5444_pkt_generator.c
src-plugins/subsystems/rfc5444/rfc5444_print.c
src-plugins/subsystems/rfc5444/rfc5444_print.h
src-plugins/subsystems/rfc5444/rfc5444_reader.c
src-plugins/subsystems/rfc5444/rfc5444_reader.h
src-plugins/subsystems/rfc5444/rfc5444_tlv_writer.c
src-plugins/subsystems/rfc5444/rfc5444_tlv_writer.h
src-plugins/subsystems/rfc5444/rfc5444_writer.c
src-plugins/subsystems/rfc5444/rfc5444_writer.h

index 035a6c8..ffda4ab 100644 (file)
@@ -93,4 +93,3 @@ Standard:        Cpp11
 TabWidth:        8
 UseTab:          Never
 ...
-
index 15e277f..4651f14 100644 (file)
@@ -46,8 +46,8 @@
 #include <errno.h>
 #include <stdarg.h>
 #include <stdio.h>
-#include <string.h>
 #include <stdlib.h>
+#include <string.h>
 #include <time.h>
 #include <unistd.h>
 
@@ -70,8 +70,8 @@ ROUND_UP_TO_POWER_OF_2(size_t val, size_t pow2) {
 
 static int _autobuf_enlarge(struct autobuf *autobuf, size_t new_size);
 static void _print_hexline(struct autobuf *out, const void *buffer, size_t length);
-static int _vappendf(struct autobuf *autobuf,
-    const char *format, va_list ap, va_list ap2) __attribute__ ((format(printf, 2, 0)));
+static int _vappendf(struct autobuf *autobuf, const char *format, va_list ap, va_list ap2)
+  __attribute__((format(printf, 2, 0)));
 
 /**
  * Initialize an autobuffer and allocate a chunk of memory
@@ -79,8 +79,7 @@ static int _vappendf(struct autobuf *autobuf,
  * @return -1 if an out-of-memory error happened, 0 otherwise
  */
 int
-abuf_init(struct autobuf *autobuf)
-{
+abuf_init(struct autobuf *autobuf) {
   autobuf->_len = 0;
   autobuf->_buf = calloc(1, getpagesize());
   if (autobuf->_buf == NULL) {
@@ -98,8 +97,7 @@ abuf_init(struct autobuf *autobuf)
  * @param autobuf pointer to autobuf object
  */
 void
-abuf_free(struct autobuf *autobuf)
-{
+abuf_free(struct autobuf *autobuf) {
   free(autobuf->_buf);
   memset(autobuf, 0, sizeof(*autobuf));
 }
@@ -114,9 +112,7 @@ abuf_free(struct autobuf *autobuf)
  *   (excluding the \0)
  */
 int
-abuf_vappendf(struct autobuf *autobuf,
-    const char *format, va_list ap)
-{
+abuf_vappendf(struct autobuf *autobuf, const char *format, va_list ap) {
   int result;
   va_list ap2;
 
@@ -141,12 +137,12 @@ abuf_vappendf(struct autobuf *autobuf,
  *   (excluding the \0)
  */
 int
-abuf_appendf(struct autobuf *autobuf, const char *fmt, ...)
-{
+abuf_appendf(struct autobuf *autobuf, const char *fmt, ...) {
   int rc;
   va_list ap;
 
-  if (autobuf == NULL) return 0;
+  if (autobuf == NULL)
+    return 0;
 
   va_start(ap, fmt);
   rc = abuf_vappendf(autobuf, fmt, ap);
@@ -163,13 +159,13 @@ abuf_appendf(struct autobuf *autobuf, const char *fmt, ...)
  *   (excluding the \0)
  */
 int
-abuf_puts(struct autobuf *autobuf, const char *s)
-{
+abuf_puts(struct autobuf *autobuf, const char *s) {
   size_t len;
 
-  if (autobuf == NULL || s == NULL) return 0;
+  if (autobuf == NULL || s == NULL)
+    return 0;
 
-  len  = strlen(s);
+  len = strlen(s);
   if (_autobuf_enlarge(autobuf, autobuf->_len + len + 1) < 0) {
     return -1;
   }
@@ -186,11 +182,11 @@ abuf_puts(struct autobuf *autobuf, const char *s)
  * @return -1 if an out-of-memory error happened, 0 otherwise
  */
 int
-abuf_strftime(struct autobuf *autobuf, const char *format, const struct tm *tm)
-{
+abuf_strftime(struct autobuf *autobuf, const char *format, const struct tm *tm) {
   size_t rc;
 
-  if (autobuf == NULL) return 0;
+  if (autobuf == NULL)
+    return 0;
 
   rc = strftime(autobuf->_buf + autobuf->_len, autobuf->_total - autobuf->_len, format, tm);
   if (rc == 0) {
@@ -222,9 +218,9 @@ abuf_strftime(struct autobuf *autobuf, const char *format, const struct tm *tm)
  * @return -1 if an out-of-memory error happened, 0 otherwise
  */
 int
-abuf_memcpy(struct autobuf *autobuf, const void *p, const size_t len)
-{
-  if (autobuf == NULL || len == 0) return 0;
+abuf_memcpy(struct autobuf *autobuf, const void *p, const size_t len) {
+  if (autobuf == NULL || len == 0)
+    return 0;
 
   if (_autobuf_enlarge(autobuf, autobuf->_len + len) < 0) {
     return -1;
@@ -246,10 +242,9 @@ abuf_memcpy(struct autobuf *autobuf, const void *p, const size_t len)
  * @return -1 if an out-of-memory error happened, 0 otherwise
  */
 int
-abuf_memcpy_prepend(struct autobuf *autobuf,
-    const void *p, const size_t len)
-{
-  if (autobuf == NULL || len == 0) return 0;
+abuf_memcpy_prepend(struct autobuf *autobuf, const void *p, const size_t len) {
+  if (autobuf == NULL || len == 0)
+    return 0;
 
   if (_autobuf_enlarge(autobuf, autobuf->_len + len) < 0) {
     return -1;
@@ -271,11 +266,12 @@ abuf_memcpy_prepend(struct autobuf *autobuf,
  * @param len number of bytes to be removed
  */
 void
-abuf_pull(struct autobuf * autobuf, size_t len) {
+abuf_pull(struct autobuf *autobuf, size_t len) {
   char *p;
   size_t newsize;
 
-  if (autobuf == NULL || len == 0) return;
+  if (autobuf == NULL || len == 0)
+    return;
 
   if (len != autobuf->_len) {
     memmove(autobuf->_buf, &autobuf->_buf[len], autobuf->_len - len);
@@ -345,7 +341,7 @@ _print_hexline(struct autobuf *out, const void *buffer, size_t length) {
       abuf_puts(out, " ");
     }
     if (i < length) {
-      abuf_appendf(out, "%02x", (int) (buf[i]));
+      abuf_appendf(out, "%02x", (int)(buf[i]));
     }
     else {
       abuf_puts(out, "  ");
@@ -361,7 +357,6 @@ _print_hexline(struct autobuf *out, const void *buffer, size_t length) {
       abuf_puts(out, ".");
     }
   }
-
 }
 
 /**
@@ -371,14 +366,13 @@ _print_hexline(struct autobuf *out, const void *buffer, size_t length) {
  * @return -1 if an out-of-memory error happened, 0 otherwise
  */
 static int
-_autobuf_enlarge(struct autobuf *autobuf, size_t new_size)
-{
+_autobuf_enlarge(struct autobuf *autobuf, size_t new_size) {
   char *p;
   size_t roundUpSize;
 
   new_size++;
   if (new_size > autobuf->_total) {
-    roundUpSize = ROUND_UP_TO_POWER_OF_2(new_size+1, getpagesize());
+    roundUpSize = ROUND_UP_TO_POWER_OF_2(new_size + 1, getpagesize());
     p = realloc(autobuf->_buf, roundUpSize);
     if (p == NULL) {
 #ifdef WIN32
@@ -408,12 +402,12 @@ _autobuf_enlarge(struct autobuf *autobuf, size_t new_size)
  *   (excluding the \0)
  */
 static int
-_vappendf(struct autobuf *autobuf,
-    const char *format, va_list ap, va_list ap2) {
+_vappendf(struct autobuf *autobuf, const char *format, va_list ap, va_list ap2) {
   int rc;
   size_t min_size;
 
-  if (autobuf == NULL) return 0;
+  if (autobuf == NULL)
+    return 0;
 
   rc = vsnprintf(autobuf->_buf + autobuf->_len, autobuf->_total - autobuf->_len, format, ap);
   if (rc < 0) {
index ce438df..b013df8 100644 (file)
@@ -72,20 +72,14 @@ struct autobuf {
 
 EXPORT int abuf_init(struct autobuf *autobuf);
 EXPORT void abuf_free(struct autobuf *autobuf);
-EXPORT int abuf_vappendf(struct autobuf *autobuf, const char *fmt,
-    va_list ap) __attribute__ ((format(printf, 2, 0)));
-EXPORT int abuf_appendf(struct autobuf *autobuf, const char *fmt,
-    ...) __attribute__ ((format(printf, 2, 3)));
-EXPORT int abuf_puts(struct autobuf * autobuf, const char *s);
-EXPORT int abuf_strftime(struct autobuf * autobuf,
-    const char *format, const struct tm * tm);
-EXPORT int abuf_memcpy(struct autobuf * autobuf,
-    const void *p, const size_t len);
-EXPORT int abuf_memcpy_prepend(struct autobuf *autobuf,
-    const void *p, const size_t len);
-EXPORT void abuf_pull(struct autobuf * autobuf, size_t len);
-EXPORT void abuf_hexdump(struct autobuf *out,
-    const char *prefix, const void *buffer, size_t length);
+EXPORT int abuf_vappendf(struct autobuf *autobuf, const char *fmt, va_list ap) __attribute__((format(printf, 2, 0)));
+EXPORT int abuf_appendf(struct autobuf *autobuf, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
+EXPORT int abuf_puts(struct autobuf *autobuf, const char *s);
+EXPORT int abuf_strftime(struct autobuf *autobuf, const char *format, const struct tm *tm);
+EXPORT int abuf_memcpy(struct autobuf *autobuf, const void *p, const size_t len);
+EXPORT int abuf_memcpy_prepend(struct autobuf *autobuf, const void *p, const size_t len);
+EXPORT void abuf_pull(struct autobuf *autobuf, size_t len);
+EXPORT void abuf_hexdump(struct autobuf *out, const char *prefix, const void *buffer, size_t length);
 
 /**
  * Clears the content of an autobuf
@@ -133,7 +127,7 @@ abuf_getmax(struct autobuf *autobuf) {
  * @param len new length of the autobuffer
  */
 static INLINE void
-abuf_setlen(struct autobuf * autobuf, size_t len) {
+abuf_setlen(struct autobuf *autobuf, size_t len) {
   if (autobuf->_total > len) {
     autobuf->_len = len;
   }
index 1cc73b1..8773b21 100644 (file)
  */
 
 #include <stddef.h>
-#include <time.h>
 #include <string.h>
+#include <time.h>
 
+#include "common/avl.h"
 #include "common/common_types.h"
 #include "common/list.h"
-#include "common/avl.h"
 
-static struct avl_node *_avl_find_rec(struct avl_node *node, const void *key,
-    int (*comp) (const void *k1, const void *k2), int *cmp_result);
-static void _avl_insert_before(struct avl_tree *tree,
-    struct avl_node *pos_node, struct avl_node *node);
-static void _avl_insert_after(struct avl_tree *tree,
-    struct avl_node *pos_node, struct avl_node *node);
+static struct avl_node *_avl_find_rec(
+  struct avl_node *node, const void *key, int (*comp)(const void *k1, const void *k2), int *cmp_result);
+static void _avl_insert_before(struct avl_tree *tree, struct avl_node *pos_node, struct avl_node *node);
+static void _avl_insert_after(struct avl_tree *tree, struct avl_node *pos_node, struct avl_node *node);
 static void _post_insert(struct avl_tree *tree, struct avl_node *node);
 static void _avl_remove_worker(struct avl_tree *tree, struct avl_node *node);
 static void _avl_remove(struct avl_tree *tree, struct avl_node *node);
@@ -64,8 +62,7 @@ static void _avl_rotate_right(struct avl_tree *tree, struct avl_node *node);
 static void _avl_rotate_left(struct avl_tree *tree, struct avl_node *node);
 static void _avl_post_remove(struct avl_tree *tree, struct avl_node *node);
 static struct avl_node *_avl_local_min(struct avl_node *node);
-static struct avl_node *_avl_find_last(struct avl_tree *tree, struct avl_node *
-node);
+static struct avl_node *_avl_find_last(struct avl_tree *tree, struct avl_node *node);
 
 /**
  * Initialize a new avl_tree struct
@@ -75,10 +72,7 @@ node);
  *   elements with the same
  */
 void
-avl_init(struct avl_tree *tree,
-    int (*comp) (const void *k1, const void *k2),
-    bool allow_dups)
-{
+avl_init(struct avl_tree *tree, int (*comp)(const void *k1, const void *k2), bool allow_dups) {
   list_init_head(&tree->list_head);
   tree->root = NULL;
   tree->count = 0;
@@ -94,8 +88,7 @@ avl_init(struct avl_tree *tree,
  *    this key exists.
  */
 struct avl_node *
-avl_find(const struct avl_tree *tree, const void *key)
-{
+avl_find(const struct avl_tree *tree, const void *key) {
   struct avl_node *node;
   int diff;
 
@@ -132,7 +125,7 @@ avl_find_lessequal(const struct avl_tree *tree, const void *key) {
     }
 
     node = (struct avl_node *)node->list.prev;
-    diff = (*tree->comp) (key, node->key);
+    diff = (*tree->comp)(key, node->key);
   }
 
   /* go right as long as key>=next_node.key */
@@ -144,7 +137,7 @@ avl_find_lessequal(const struct avl_tree *tree, const void *key) {
     }
 
     next = (struct avl_node *)node->list.next;
-    diff = (*tree->comp) (key, next->key);
+    diff = (*tree->comp)(key, next->key);
   }
   return node;
 }
@@ -174,7 +167,7 @@ avl_find_greaterequal(const struct avl_tree *tree, const void *key) {
     }
 
     node = (struct avl_node *)node->list.next;
-    diff = (*tree->comp) (key, node->key);
+    diff = (*tree->comp)(key, node->key);
   }
 
   /* go left as long as key<=next_node.key */
@@ -186,7 +179,7 @@ avl_find_greaterequal(const struct avl_tree *tree, const void *key) {
     }
 
     next = (struct avl_node *)node->list.prev;
-    diff = (*tree->comp) (key, next->key);
+    diff = (*tree->comp)(key, next->key);
   }
   return node;
 }
@@ -197,9 +190,8 @@ avl_find_greaterequal(const struct avl_tree *tree, const void *key) {
  * @param last reference node
  * @return pointer to last node with the same value
  */
-struct avl_node*
-_avl_find_last(struct avl_tree *tree, struct avl_node *last)
-{
+struct avl_node *
+_avl_find_last(struct avl_tree *tree, struct avl_node *last) {
   struct avl_node *next;
   while (!list_is_last(&tree->list_head, &last->list)) {
     next = list_next_element(last, list);
@@ -211,7 +203,6 @@ _avl_find_last(struct avl_tree *tree, struct avl_node *last)
   return last;
 }
 
-
 /**
  * Inserts an avl_node into a tree
  * @param tree avl tree
@@ -220,8 +211,7 @@ _avl_find_last(struct avl_tree *tree, struct avl_node *last)
  *   because of a key collision
  */
 int
-avl_insert(struct avl_tree *tree, struct avl_node *new)
-{
+avl_insert(struct avl_tree *tree, struct avl_node *new) {
   struct avl_node *node, *last;
   int diff;
 
@@ -242,7 +232,7 @@ avl_insert(struct avl_tree *tree, struct avl_node *new)
 
   node = _avl_find_rec(tree->root, new->key, tree->comp, &diff);
 
-  diff = (*tree->comp) (new->key, node->key);
+  diff = (*tree->comp)(new->key, node->key);
 
   if (diff == 0) {
     if (!tree->allow_dups)
@@ -297,16 +287,14 @@ avl_insert(struct avl_tree *tree, struct avl_node *new)
  * @param node pointer to node
  */
 void
-avl_remove(struct avl_tree *tree, struct avl_node *node)
-{
+avl_remove(struct avl_tree *tree, struct avl_node *node) {
   struct avl_node *next;
   struct avl_node *parent;
   struct avl_node *left;
   struct avl_node *right;
   if (!node->follower) {
-    if (tree->allow_dups
-        && !list_is_last(&tree->list_head, &node->list)
-        && (next = list_next_element(node, list))->follower) {
+    if (tree->allow_dups && !list_is_last(&tree->list_head, &node->list) &&
+        (next = list_next_element(node, list))->follower) {
       next->follower = false;
       next->balance = node->balance;
 
@@ -353,12 +341,10 @@ avl_remove(struct avl_tree *tree, struct avl_node *node)
  * @return pointer to result of the lookup (avl_node)
  */
 static struct avl_node *
-_avl_find_rec(struct avl_node *node, const void *key,
-    int (*comp) (const void *k1, const void *k2), int *cmp_result)
-{
+_avl_find_rec(struct avl_node *node, const void *key, int (*comp)(const void *k1, const void *k2), int *cmp_result) {
   int diff;
 
-  diff = (*comp) (key, node->key);
+  diff = (*comp)(key, node->key);
   *cmp_result = diff;
 
   if (diff < 0) {
@@ -384,8 +370,7 @@ _avl_find_rec(struct avl_node *node, const void *key,
  * @param node pointer to node
  */
 static void
-_avl_rotate_right(struct avl_tree *tree, struct avl_node *node)
-{
+_avl_rotate_right(struct avl_tree *tree, struct avl_node *node) {
   struct avl_node *left, *parent;
 
   left = node->left;
@@ -430,8 +415,7 @@ _avl_rotate_right(struct avl_tree *tree, struct avl_node *node)
  * @param node pointer to node
  */
 static void
-_avl_rotate_left(struct avl_tree *tree, struct avl_node *node)
-{
+_avl_rotate_left(struct avl_tree *tree, struct avl_node *node) {
   struct avl_node *right, *parent;
 
   right = node->right;
@@ -476,8 +460,7 @@ _avl_rotate_left(struct avl_tree *tree, struct avl_node *node)
  * @param node pointer to inserted node
  */
 static void
-_post_insert(struct avl_tree *tree, struct avl_node *node)
-{
+_post_insert(struct avl_tree *tree, struct avl_node *node) {
   struct avl_node *parent = node->parent;
 
   if (parent == NULL)
@@ -531,8 +514,7 @@ _post_insert(struct avl_tree *tree, struct avl_node *node)
  * @param node pointer to node to be inserted
  */
 static void
-_avl_insert_before(struct avl_tree *tree, struct avl_node *pos_node, struct avl_node *node)
-{
+_avl_insert_before(struct avl_tree *tree, struct avl_node *pos_node, struct avl_node *node) {
   list_add_before(&pos_node->list, &node->list);
   tree->count++;
 }
@@ -545,8 +527,7 @@ _avl_insert_before(struct avl_tree *tree, struct avl_node *pos_node, struct avl_
  * @param node pointer to node to be inserted
  */
 static void
-_avl_insert_after(struct avl_tree *tree, struct avl_node *pos_node, struct avl_node *node)
-{
+_avl_insert_after(struct avl_tree *tree, struct avl_node *pos_node, struct avl_node *node) {
   list_add_after(&pos_node->list, &node->list);
   tree->count++;
 }
@@ -558,8 +539,7 @@ _avl_insert_after(struct avl_tree *tree, struct avl_node *pos_node, struct avl_n
  * @param node pointer to avl_node to be removed
  */
 static void
-_avl_remove(struct avl_tree *tree, struct avl_node *node)
-{
+_avl_remove(struct avl_tree *tree, struct avl_node *node) {
   list_remove(&node->list);
   tree->count--;
 }
@@ -569,9 +549,9 @@ _avl_remove(struct avl_tree *tree, struct avl_node *node)
  * @param tree pointer to avl_tree
  * @param node pointer to node which childs have to be
  *   rebalanced.
- */static void
-_avl_post_remove(struct avl_tree *tree, struct avl_node *node)
-{
+ */
+static void
+_avl_post_remove(struct avl_tree *tree, struct avl_node *node) {
   struct avl_node *parent;
 
   if ((parent = node->parent) == NULL)
@@ -637,8 +617,7 @@ _avl_post_remove(struct avl_tree *tree, struct avl_node *node)
  * @return left-most child of reference node
  */
 static struct avl_node *
-_avl_local_min(struct avl_node *node)
-{
+_avl_local_min(struct avl_node *node) {
   while (node->left != NULL)
     node = node->left;
 
@@ -662,8 +641,7 @@ avl_local_max(struct avl_node *node)
  * @param node pointer to node to be removed
  */
 static void
-_avl_remove_worker(struct avl_tree *tree, struct avl_node *node)
-{
+_avl_remove_worker(struct avl_tree *tree, struct avl_node *node) {
   struct avl_node *parent, *min;
 
   parent = node->parent;
index 2d1dbab..1ce72e8 100644 (file)
@@ -49,8 +49,8 @@
 #include <stddef.h>
 
 #include "common/common_types.h"
-#include "list.h"
 #include "container_of.h"
+#include "list.h"
 
 /**
  * Static initializer for AVL tree
  * @param avl_comp comparator to be used
  * @param dups true if duplicates are allowed, false otherwise
  */
-#define AVL_STATIC_INIT(avl, avl_comp, dups) { .list_head = { .next = &avl.list_head, .prev = &avl.list_head }, .root = NULL, .count = 0, .allow_dups = dups, .comp = avl_comp}
+#define AVL_STATIC_INIT(avl, avl_comp, dups)                                                                           \
+  {                                                                                                                    \
+    .list_head = { .next = &avl.list_head, .prev = &avl.list_head }, .root = NULL, .count = 0, .allow_dups = dups,     \
+    .comp = avl_comp                                                                                                   \
+  }
 
 /**
  * This element is a member of a avl-tree. It must be contained in all
@@ -142,8 +146,7 @@ struct avl_tree {
   int (*comp)(const void *k1, const void *k2);
 };
 
-EXPORT void avl_init(struct avl_tree *,
-    int (*comp) (const void *k1, const void *k2), bool);
+EXPORT void avl_init(struct avl_tree *, int (*comp)(const void *k1, const void *k2), bool);
 EXPORT struct avl_node *avl_find(const struct avl_tree *, const void *);
 EXPORT struct avl_node *avl_find_greaterequal(const struct avl_tree *tree, const void *key);
 EXPORT struct avl_node *avl_find_lessequal(const struct avl_tree *tree, const void *key);
@@ -198,7 +201,7 @@ avl_is_node_added(const struct avl_node *node) {
  * @return pointer to tree element with the specified key,
  *    NULL if no element was found
  */
-#define avl_find_element(tree, key, element, node_element) \
+#define avl_find_element(tree, key, element, node_element)                                                             \
   container_of_if_notnull(avl_find(tree, key), typeof(*(element)), node_element)
 
 /**
@@ -211,7 +214,7 @@ avl_is_node_added(const struct avl_node *node) {
  * return pointer to last tree element with less or equal key than specified key,
  *    NULL if no element was found
  */
-#define avl_find_le_element(tree, key, element, node_element) \
+#define avl_find_le_element(tree, key, element, node_element)                                                          \
   container_of_if_notnull(avl_find_lessequal(tree, key), typeof(*(element)), node_element)
 
 /**
@@ -224,7 +227,7 @@ avl_is_node_added(const struct avl_node *node) {
  * return pointer to first tree element with greater or equal key than specified key,
  *    NULL if no element was found
  */
-#define avl_find_ge_element(tree, key, element, node_element) \
+#define avl_find_ge_element(tree, key, element, node_element)                                                          \
   container_of_if_notnull(avl_find_greaterequal(tree, key), typeof(*(element)), node_element)
 
 /**
@@ -238,7 +241,7 @@ avl_is_node_added(const struct avl_node *node) {
  * @return pointer to the first element of the avl_tree
  *    (automatically converted to type 'element')
  */
-#define avl_first_element(tree, element, node_member) \
+#define avl_first_element(tree, element, node_member)                                                                  \
   container_of((tree)->list_head.next, typeof(*(element)), node_member.list)
 
 /**
@@ -251,7 +254,7 @@ avl_is_node_added(const struct avl_node *node) {
  *    (automatically converted to type 'element'),
  *    NULL if tree is empty
  */
-#define avl_first_element_safe(tree, element, node_member) \
+#define avl_first_element_safe(tree, element, node_member)                                                             \
   (avl_is_empty(tree) ? NULL : avl_first_element(tree, element, node_member))
 
 /**
@@ -265,7 +268,7 @@ avl_is_node_added(const struct avl_node *node) {
  * @return pointer to the last element of the avl_tree
  *    (automatically converted to type 'element')
  */
-#define avl_last_element(tree, element, node_member) \
+#define avl_last_element(tree, element, node_member)                                                                   \
   container_of((tree)->list_head.prev, typeof(*(element)), node_member.list)
 
 /**
@@ -278,7 +281,7 @@ avl_is_node_added(const struct avl_node *node) {
  *    (automatically converted to type 'element'),
  *    NULL if tree is empty
  */
-#define avl_last_element_safe(tree, element, node_member) \
+#define avl_last_element_safe(tree, element, node_member)                                                              \
   (avl_is_empty(tree) ? NULL : avl_last_element(tree, element, node_member))
 
 /**
@@ -291,7 +294,7 @@ avl_is_node_added(const struct avl_node *node) {
  * @return pointer to the node after 'element'
  *    (automatically converted to type 'element')
  */
-#define avl_next_element(element, node_member) \
+#define avl_next_element(element, node_member)                                                                         \
   container_of((&(element)->node_member.list)->next, typeof(*(element)), node_member.list)
 
 /**
@@ -304,7 +307,7 @@ avl_is_node_added(const struct avl_node *node) {
  *    NULL if there is no element after 'element' or
  *    'element' is NULL
  */
-#define avl_next_element_safe(tree, element, node_member) \
+#define avl_next_element_safe(tree, element, node_member)                                                              \
   ((element) == NULL || avl_is_last(tree, &(element)->node_member) ? NULL : avl_next_element(element, node_member))
 
 /**
@@ -317,7 +320,7 @@ avl_is_node_added(const struct avl_node *node) {
  * @return pointer to the node before 'element'
  *    (automatically converted to type 'element')
  */
-#define avl_prev_element(element, node_member) \
+#define avl_prev_element(element, node_member)                                                                         \
   container_of((&(element)->node_member.list)->prev, typeof(*(element)), node_member.list)
 
 /**
@@ -330,10 +333,9 @@ avl_is_node_added(const struct avl_node *node) {
  *    NULL if there is no element before 'element' or
  *    'element' is NULL
  */
-#define avl_prev_element_safe(tree, element, node_member) \
+#define avl_prev_element_safe(tree, element, node_member)                                                              \
   ((element) == NULL || avl_is_first(tree, &(element)->node_member) ? NULL : avl_prev_element(element, node_member))
 
-
 /**
  * Loop over a block of elements of a tree, used similar to a for() command.
  * This loop should not be used if elements are removed from the tree during
@@ -346,9 +348,8 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_element_range(first, last, element, node_member) \
-  for (element = (first); \
-       element->node_member.list.prev != &(last)->node_member.list; \
+#define avl_for_element_range(first, last, element, node_member)                                                       \
+  for (element = (first); element->node_member.list.prev != &(last)->node_member.list;                                 \
        element = avl_next_element(element, node_member))
 
 /**
@@ -363,9 +364,8 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_element_range_reverse(first, last, element, node_member) \
-  for (element = (last); \
-       element->node_member.list.next != &(first)->node_member.list; \
+#define avl_for_element_range_reverse(first, last, element, node_member)                                               \
+  for (element = (last); element->node_member.list.next != &(first)->node_member.list;                                 \
        element = avl_prev_element(element, node_member))
 
 /**
@@ -379,10 +379,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_each_element(tree, element, node_member) \
-  avl_for_element_range(avl_first_element(tree, element, node_member), \
-                        avl_last_element(tree, element,  node_member), \
-                        element, node_member)
+#define avl_for_each_element(tree, element, node_member)                                                               \
+  avl_for_element_range(                                                                                               \
+    avl_first_element(tree, element, node_member), avl_last_element(tree, element, node_member), element, node_member)
 
 /**
  * Loop over all elements of an avl_tree backwards, used similar to a for() command.
@@ -395,10 +394,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_each_element_reverse(tree, element, node_member) \
-  avl_for_element_range_reverse(avl_first_element(tree, element, node_member), \
-                                avl_last_element(tree, element,  node_member), \
-                                element, node_member)
+#define avl_for_each_element_reverse(tree, element, node_member)                                                       \
+  avl_for_element_range_reverse(                                                                                       \
+    avl_first_element(tree, element, node_member), avl_last_element(tree, element, node_member), element, node_member)
 
 /**
  * Loop over a block of elements of a tree, used similar to a for() command.
@@ -413,10 +411,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_element_to_last(tree, first, element, node_member) \
+#define avl_for_element_to_last(tree, first, element, node_member)                                                     \
   avl_for_element_range(first, avl_last_element(tree, element, node_member), element, node_member)
 
-
 /**
  * Loop over a block of elements of a tree backwards, used similar to a for() command.
  * This loop should not be used if elements are removed from the tree during
@@ -430,7 +427,7 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_element_to_last_reverse(tree, first, element, node_member) \
+#define avl_for_element_to_last_reverse(tree, first, element, node_member)                                             \
   avl_for_element_range_reverse(first, avl_last_element(tree, element, node_member), element, node_member)
 
 /**
@@ -446,10 +443,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_first_to_element(tree, last, element, node_member) \
+#define avl_for_first_to_element(tree, last, element, node_member)                                                     \
   avl_for_element_range(avl_first_element(tree, element, node_member), last, element, node_member)
 
-
 /**
  * Loop over a block of elements of a tree backwards, used similar to a for() command.
  * This loop should not be used if elements are removed from the tree during
@@ -463,7 +459,7 @@ avl_is_node_added(const struct avl_node *node) {
  * @param node_member name of the avl_node element inside the
  *    larger struct
  */
-#define avl_for_first_to_element_reverse(tree, last, element, node_member) \
+#define avl_for_first_to_element_reverse(tree, last, element, node_member)                                             \
   avl_for_element_range_reverse(avl_first_element(tree, element, node_member), last, element, node_member)
 
 /**
@@ -480,9 +476,10 @@ avl_is_node_added(const struct avl_node *node) {
  * @param start helper pointer to remember start of iteration
  * @param key pointer to key
  */
-#define avl_for_each_elements_with_key(tree, element, node_member, start, key) \
-  for (start = element = avl_find_element(tree, key, element, node_member); \
-       element != NULL && &element->node_member.list != &(tree)->list_head && (element == start || element->node_member.follower); \
+#define avl_for_each_elements_with_key(tree, element, node_member, start, key)                                         \
+  for (start = element = avl_find_element(tree, key, element, node_member);                                            \
+       element != NULL && &element->node_member.list != &(tree)->list_head &&                                          \
+       (element == start || element->node_member.follower);                                                            \
        element = avl_next_element(element, node_member))
 
 /**
@@ -498,9 +495,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param ptr pointer to tree element struct which is used to store
  *    the next node during the loop
  */
-#define avl_for_element_range_safe(first_element, last_element, element, node_member, ptr) \
-  for (element = (first_element), ptr = avl_next_element(element, node_member); \
-       element->node_member.list.prev != &(last_element)->node_member.list; \
+#define avl_for_element_range_safe(first_element, last_element, element, node_member, ptr)                             \
+  for (element = (first_element), ptr = avl_next_element(element, node_member);                                        \
+       element->node_member.list.prev != &(last_element)->node_member.list;                                            \
        element = ptr, ptr = avl_next_element(ptr, node_member))
 
 /**
@@ -516,9 +513,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param ptr pointer to node element struct which is used to store
  *    the previous node during the loop
  */
-#define avl_for_element_range_reverse_safe(first_element, last_element, element, node_member, ptr) \
-  for (element = (last_element), ptr = avl_prev_element(element, node_member); \
-       element->node_member.list.next != &(first_element)->node_member.list; \
+#define avl_for_element_range_reverse_safe(first_element, last_element, element, node_member, ptr)                     \
+  for (element = (last_element), ptr = avl_prev_element(element, node_member);                                         \
+       element->node_member.list.next != &(first_element)->node_member.list;                                           \
        element = ptr, ptr = avl_prev_element(ptr, node_member))
 
 /**
@@ -535,10 +532,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param ptr pointer to a tree element which is used to store
  *    the next node during the loop
  */
-#define avl_for_each_element_safe(tree, element, node_member, ptr) \
-  avl_for_element_range_safe(avl_first_element(tree, element, node_member), \
-                             avl_last_element(tree, element, node_member), \
-                             element, node_member, ptr)
+#define avl_for_each_element_safe(tree, element, node_member, ptr)                                                     \
+  avl_for_element_range_safe(avl_first_element(tree, element, node_member),                                            \
+    avl_last_element(tree, element, node_member), element, node_member, ptr)
 
 /**
  * Loop over all elements of an avl_tree backwards, used similar to a for() command.
@@ -554,10 +550,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param ptr pointer to a tree element which is used to store
  *    the next node during the loop
  */
-#define avl_for_each_element_reverse_safe(tree, element, node_member, ptr) \
-  avl_for_element_range_reverse_safe(avl_first_element(tree, element, node_member), \
-                                     avl_last_element(tree, element, node_member), \
-                                     element, node_member, ptr)
+#define avl_for_each_element_reverse_safe(tree, element, node_member, ptr)                                             \
+  avl_for_element_range_reverse_safe(avl_first_element(tree, element, node_member),                                    \
+    avl_last_element(tree, element, node_member), element, node_member, ptr)
 
 /**
  * A special loop that removes all elements of the tree and cleans up the tree
@@ -577,12 +572,9 @@ avl_is_node_added(const struct avl_node *node) {
  * @param ptr pointer to a tree element which is used to store
  *    the next node during the loop
  */
-#define avl_remove_all_elements(tree, element, node_member, ptr) \
-  for (element = avl_first_element(tree, element, node_member), \
-       ptr = avl_next_element(element, node_member), \
-       list_init_head(&(tree)->list_head), \
-       (tree)->root = NULL; \
-       (tree)->count > 0; \
-       element = ptr, ptr = avl_next_element(ptr, node_member), (tree)->count--)
+#define avl_remove_all_elements(tree, element, node_member, ptr)                                                       \
+  for (element = avl_first_element(tree, element, node_member), ptr = avl_next_element(element, node_member),          \
+      list_init_head(&(tree)->list_head), (tree)->root = NULL;                                                         \
+       (tree)->count > 0; element = ptr, ptr = avl_next_element(ptr, node_member), (tree)->count--)
 
 #endif /* _AVL_H */
index 1fdff57..220b097 100644 (file)
@@ -57,7 +57,7 @@ bool
 bitmap256_is_subset(struct bitmap256 *set, struct bitmap256 *subset) {
   size_t i;
 
-  for (i=0; i<ARRAYSIZE(set->b); i++) {
+  for (i = 0; i < ARRAYSIZE(set->b); i++) {
     if (set->b[i] != (set->b[i] | subset->b[i])) {
       return false;
     }
index bc0a402..c1aab99 100644 (file)
@@ -49,7 +49,7 @@
 #include "common/common_types.h"
 
 /*! keyword for setting all bits in a bitmap */
-#define BITMAP256_ALL  "all"
+#define BITMAP256_ALL "all"
 
 /*! keyword for clearing all bits in a bitmap */
 #define BITMAP256_NONE "none"
@@ -59,7 +59,7 @@
  */
 struct bitmap256 {
   /*! array for 256 bits */
-  uint64_t b[256/sizeof(uint64_t)/8];
+  uint64_t b[256 / sizeof(uint64_t) / 8];
 };
 
 EXPORT bool bitmap256_is_subset(struct bitmap256 *set, struct bitmap256 *subset);
index fc528c9..2443c95 100644 (file)
@@ -7,8 +7,8 @@
 
 #include <string.h>
 
-#include "common/common_types.h"
 #include "common/bitstream.h"
+#include "common/common_types.h"
 
 /**
  * Initialize reading bitstream
@@ -100,7 +100,7 @@ bitstream_r_read(struct bitstream_r *stream, uint64_t *dst, int32_t bits) {
   }
 
   while (size > 1) {
-    offset ++;
+    offset++;
     size--;
 
     result = (result << 8) | buffer[offset];
@@ -222,7 +222,7 @@ bitstream_w_write(struct bitstream_w *stream, uint64_t src, int32_t bits) {
 
   /* write data to buffer */
   while (size > 0) {
-    size --;
+    size--;
 
     buffer[offset + size] |= (src & 0xFF);
     src >>= 8;
index 8ba56c3..d973548 100644 (file)
@@ -24,23 +24,15 @@ struct bitstream_w {
   size_t bit_offset;
 };
 
-EXPORT void bitstream_r_init(
-    struct bitstream_r *stream, const void *src, size_t bytes);
-EXPORT int bitstream_r_memcpy(
-    struct bitstream_r *stream, void *dst, size_t bytes);
-EXPORT int bitstream_r_read(
-    struct bitstream_r *stream, uint64_t *dst, int32_t bits);
-EXPORT void bitstream_r_pad(
-    struct bitstream_r *stream);
-
-EXPORT void bitstream_w_init(
-    struct bitstream_w *stream, void *buffer, size_t bytes);
-EXPORT int bitstream_w_memcpy(
-    struct bitstream_w *stream, const void *src, size_t bytes);
-EXPORT int bitstream_w_write(
-    struct bitstream_w *stream, uint64_t src, int32_t bits);
-EXPORT void bitstream_w_pad(
-    struct bitstream_w *stream);
+EXPORT void bitstream_r_init(struct bitstream_r *stream, const void *src, size_t bytes);
+EXPORT int bitstream_r_memcpy(struct bitstream_r *stream, void *dst, size_t bytes);
+EXPORT int bitstream_r_read(struct bitstream_r *stream, uint64_t *dst, int32_t bits);
+EXPORT void bitstream_r_pad(struct bitstream_r *stream);
+
+EXPORT void bitstream_w_init(struct bitstream_w *stream, void *buffer, size_t bytes);
+EXPORT int bitstream_w_memcpy(struct bitstream_w *stream, const void *src, size_t bytes);
+EXPORT int bitstream_w_write(struct bitstream_w *stream, uint64_t src, int32_t bits);
+EXPORT void bitstream_w_pad(struct bitstream_w *stream);
 
 /**
  * @param stream writing bitstream
index 67351df..761e6a9 100644 (file)
@@ -56,7 +56,7 @@
 
 #ifndef EXPORT
 /*! Macro to declare a function should be visible for other subsystems */
-#define EXPORT __attribute__((visibility ("default")))
+#define EXPORT __attribute__((visibility("default")))
 #endif
 
 /* give everyone an arraysize implementation */
@@ -65,7 +65,7 @@
  * @param a reference of an array (not a pointer!)
  * @returns number of elements in array
  */
-#define ARRAYSIZE(a)  (sizeof(a) / sizeof(*(a)))
+#define ARRAYSIZE(a) (sizeof(a) / sizeof(*(a)))
 #endif
 
 #ifndef STRINGIFY
 
 /* printf size_t modifiers*/
 #if defined(__GNUC__)
-#define PRINTF_SIZE_T_SPECIFIER     "zu"
+#define PRINTF_SIZE_T_SPECIFIER "zu"
 #define PRINTF_SIZE_T_HEX_SPECIFIER "zx"
-#define PRINTF_SSIZE_T_SPECIFIER    "zd"
-#define PRINTF_PTRDIFF_T_SPECIFIER  "zd"
+#define PRINTF_SSIZE_T_SPECIFIER "zd"
+#define PRINTF_PTRDIFF_T_SPECIFIER "zd"
 #else
 /* maybe someone can check what to do about LLVM/Clang? */
 #error Please implement size_t modifiers
index 7f00b33..ec9af13 100644 (file)
@@ -46,8 +46,8 @@
 #ifndef CONTAINER_OF_H_
 #define CONTAINER_OF_H_
 
-#include <stddef.h>
 #include "common/common_types.h"
+#include <stddef.h>
 
 #ifndef typeof
 /*! map typeof macro to builtin typeof */
  * @param member name of node inside struct
  * @return pointer to surrounding struct
  */
-#define container_of(ptr, type, member) ({ \
-    const typeof(((type *)0)->member ) *__tempptr = (ptr); \
-    (type *)((uint8_t *)__tempptr - offsetof(type,member)); \
+#define container_of(ptr, type, member)                                                                                \
+  ({                                                                                                                   \
+    const typeof(((type *)0)->member) *__tempptr = (ptr);                                                              \
+    (type *)((uint8_t *)__tempptr - offsetof(type, member));                                                           \
   })
 
 /**
index 1f59abb..8cd5ddb 100644 (file)
@@ -50,9 +50,8 @@
 #include "common/isonumber.h"
 #include "common/string.h"
 
-static const char *_isonumber_u64_to_string(char *out,
-    size_t out_len, uint64_t number, const char *unit, size_t fraction,
-    bool raw);
+static const char *_isonumber_u64_to_string(
+  char *out, size_t out_len, uint64_t number, const char *unit, size_t fraction, bool raw);
 
 /**
  * Converts an unsigned 64 bit integer into a human readable number
@@ -69,10 +68,8 @@ static const char *_isonumber_u64_to_string(char *out,
  * @return pointer to converted string
  */
 const char *
-isonumber_from_u64(struct isonumber_str *out,
-    uint64_t number, const char *unit, int fraction, bool raw) {
-  return _isonumber_u64_to_string(
-      out->buf, sizeof(*out), number, unit, fraction, raw);
+isonumber_from_u64(struct isonumber_str *out, uint64_t number, const char *unit, int fraction, bool raw) {
+  return _isonumber_u64_to_string(out->buf, sizeof(*out), number, unit, fraction, raw);
 }
 
 /**
@@ -90,8 +87,7 @@ isonumber_from_u64(struct isonumber_str *out,
  * @return pointer to converted string
  */
 const char *
-isonumber_from_s64(struct isonumber_str *out,
-    int64_t number, const char *unit, int fraction, bool raw) {
+isonumber_from_s64(struct isonumber_str *out, int64_t number, const char *unit, int fraction, bool raw) {
   char *outbuf = out->buf;
   uint64_t num;
   size_t len;
@@ -100,7 +96,7 @@ isonumber_from_s64(struct isonumber_str *out,
   if (number == INT64_MIN) {
     *outbuf++ = '-';
     len--;
-    num = 1ull<<63;
+    num = 1ull << 63;
   }
   else if (number < 0) {
     *outbuf++ = '-';
@@ -111,8 +107,7 @@ isonumber_from_s64(struct isonumber_str *out,
     num = (uint64_t)number;
   }
 
-  if (_isonumber_u64_to_string(
-      outbuf, len, num, unit, fraction, raw)) {
+  if (_isonumber_u64_to_string(outbuf, len, num, unit, fraction, raw)) {
     return out->buf;
   }
   return NULL;
@@ -184,7 +179,7 @@ isonumber_to_u64(uint64_t *dst, const char *iso, int fraction) {
   frac = 0;
   if (*next == '.') {
     next++;
-    while (*next >='0' && *next <='9') {
+    while (*next >= '0' && *next <= '9') {
       num *= 10;
       num += (*next - '0');
       frac++;
@@ -193,7 +188,7 @@ isonumber_to_u64(uint64_t *dst, const char *iso, int fraction) {
   }
   while (frac < fraction) {
     num *= 10;
-    frac ++;
+    frac++;
   }
 
   /* handle spaces */
@@ -250,8 +245,7 @@ isonumber_to_u64(uint64_t *dst, const char *iso, int fraction) {
  * @return pointer to output buffer, NULL if an error happened
  */
 static const char *
-_isonumber_u64_to_string(char *out, size_t out_len,
-    uint64_t number, const char *unit, size_t fraction, bool raw) {
+_isonumber_u64_to_string(char *out, size_t out_len, uint64_t number, const char *unit, size_t fraction, bool raw) {
   static const char symbol_large[] = " kMGTPE";
   static const char symbol_small[] = " munpfa";
   uint64_t multiplier, print, n;
@@ -275,15 +269,14 @@ _isonumber_u64_to_string(char *out, size_t out_len,
   }
   else {
     unit_modifier = symbol_small;
-    while (!raw && *unit_modifier != 0 && number < multiplier
-        && multiplier >= 1000) {
+    while (!raw && *unit_modifier != 0 && number < multiplier && multiplier >= 1000) {
       multiplier /= 1000;
       unit_modifier++;
     }
   }
 
   /* print whole */
-  if ((result = snprintf(out, out_len, "%"PRIu64, number / multiplier)) < 0) {
+  if ((result = snprintf(out, out_len, "%" PRIu64, number / multiplier)) < 0) {
     return NULL;
   }
 
index 07dfb30..12ca964 100644 (file)
  * number with iso prefix.
  */
 struct isonumber_str {
-    /*! buffer for longest possibloe iso prefixed number */
-    char buf[48];
+  /*! buffer for longest possibloe iso prefixed number */
+  char buf[48];
 };
 
-EXPORT const char *isonumber_from_u64(struct isonumber_str *out,
-    uint64_t number, const char *unit, int fraction, bool raw);
-EXPORT const char *isonumber_from_s64(struct isonumber_str *out,
-    int64_t number, const char *unit, int fraction, bool raw);
-EXPORT int isonumber_to_u64(
-    uint64_t *dst, const char *iso, int fractions);
-EXPORT int isonumber_to_s64(
-    int64_t *dst, const char *iso, int fractions);
+EXPORT const char *isonumber_from_u64(
+  struct isonumber_str *out, uint64_t number, const char *unit, int fraction, bool raw);
+EXPORT const char *isonumber_from_s64(
+  struct isonumber_str *out, int64_t number, const char *unit, int fraction, bool raw);
+EXPORT int isonumber_to_u64(uint64_t *dst, const char *iso, int fractions);
+EXPORT int isonumber_to_s64(int64_t *dst, const char *iso, int fractions);
 
 #endif /* ISONUMBER_H_ */
index 79fd7f3..78bba9f 100644 (file)
  * @file
  */
 
-#include "common/common_types.h"
+#include "common/json.h"
 #include "common/autobuf.h"
+#include "common/common_types.h"
 #include "common/string.h"
 #include "common/template.h"
-#include "common/json.h"
 
-static void _add_template(struct autobuf *out, bool brackets,
-    struct abuf_template_data *data, size_t data_count);
-static void _json_printvalue(struct autobuf *out,
-    const char *txt, bool delimiter);
+static void _add_template(struct autobuf *out, bool brackets, struct abuf_template_data *data, size_t data_count);
+static void _json_printvalue(struct autobuf *out, const char *txt, bool delimiter);
 
 /**
  * Initialize the JSON session object for creating a nested JSON
@@ -61,8 +59,7 @@ static void _json_printvalue(struct autobuf *out,
  * @param out output buffer
  */
 void
-json_init_session(struct json_session *session,
-    struct autobuf *out) {
+json_init_session(struct json_session *session, struct autobuf *out) {
   memset(session, 0, sizeof(*session));
   session->out = out;
   session->empty = true;
@@ -74,8 +71,7 @@ json_init_session(struct json_session *session,
  * @param name name of JSON array
  */
 void
-json_start_array(struct json_session *session,
-    const char *name) {
+json_start_array(struct json_session *session, const char *name) {
   if (!session->empty) {
     abuf_puts(session->out, ",");
     session->empty = true;
@@ -126,8 +122,7 @@ json_start_object(struct json_session *session, const char *name) {
  * @param value value to print
  */
 void
-json_print(struct json_session *session,
-    const char *key, bool string, const char *value) {
+json_print(struct json_session *session, const char *key, bool string, const char *value) {
   if (!session->empty) {
     abuf_puts(session->out, ",");
   }
@@ -158,8 +153,7 @@ json_end_object(struct json_session *session) {
  * @param count number of elements in data array
  */
 void
-json_print_templates(struct json_session *session,
-    struct abuf_template_data *data, size_t count) {
+json_print_templates(struct json_session *session, struct abuf_template_data *data, size_t count) {
   if (session->empty) {
     session->empty = false;
     abuf_puts(session->out, "\n");
@@ -180,18 +174,17 @@ json_print_templates(struct json_session *session,
  * @param data_count number of template data entries
  */
 static void
-_add_template(struct autobuf *out, bool brackets,
-    struct abuf_template_data *data, size_t data_count) {
+_add_template(struct autobuf *out, bool brackets, struct abuf_template_data *data, size_t data_count) {
   bool first;
-  size_t i,j;
+  size_t i, j;
 
   if (brackets) {
     abuf_puts(out, "{");
   }
 
   first = true;
-  for (i=0; i<data_count; i++) {
-    for (j=0; j<data[i].count; j++) {
+  for (i = 0; i < data_count; i++) {
+    for (j = 0; j < data[i].count; j++) {
       if (data[i].data[j].value == NULL) {
         continue;
       }
index 5c3f767..c14e869 100644 (file)
@@ -46,8 +46,8 @@
 #ifndef JSON_H_
 #define JSON_H_
 
-#include "common/common_types.h"
 #include "common/autobuf.h"
+#include "common/common_types.h"
 #include "common/template.h"
 
 /**
@@ -61,18 +61,13 @@ struct json_session {
   bool empty;
 };
 
-EXPORT void json_init_session(struct json_session *,
-    struct autobuf *out);
-EXPORT void json_start_array(struct json_session *,
-    const char *name);
+EXPORT void json_init_session(struct json_session *, struct autobuf *out);
+EXPORT void json_start_array(struct json_session *, const char *name);
 EXPORT void json_end_array(struct json_session *);
-EXPORT void json_start_object(struct json_session *,
-    const char *name);
+EXPORT void json_start_object(struct json_session *, const char *name);
 EXPORT void json_end_object(struct json_session *);
-EXPORT void json_print_templates(struct json_session *,
-    struct abuf_template_data *data, size_t count);
-EXPORT void json_print(struct json_session *session,
-    const char *key, bool string, const char *value);
+EXPORT void json_print_templates(struct json_session *, struct abuf_template_data *data, size_t count);
+EXPORT void json_print(struct json_session *session, const char *key, bool string, const char *value);
 
 /**
  * Returns the JSON text representation of a boolean
index c7ef5a1..a0da020 100644 (file)
@@ -48,8 +48,8 @@
 
 #include <stddef.h>
 
-#include "common/container_of.h"
 #include "common/common_types.h"
+#include "common/container_of.h"
 
 /**
  * this struct is used as list head and list elements.
@@ -216,7 +216,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
   add_to->prev->next = remove_from->next;
   remove_from->next->prev = add_to->prev;
 
-  add_to->prev= remove_from->prev;
+  add_to->prev = remove_from->prev;
   remove_from->prev->next = add_to;
 
   list_init_head(remove_from);
@@ -231,8 +231,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @return pointer to the first element of the list
  *    (automatically converted to type 'element')
  */
-#define list_first_element(head, element, list_member) \
-    container_of((head)->next, typeof(*(element)), list_member)
+#define list_first_element(head, element, list_member) container_of((head)->next, typeof(*(element)), list_member)
 
 /**
  * @param head pointer to list-head
@@ -243,8 +242,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @return pointer to the last element of the list
  *    (automatically converted to type 'element')
  */
-#define list_last_element(head, element, list_member) \
-    container_of((head)->prev, typeof(*(element)), list_member)
+#define list_last_element(head, element, list_member) container_of((head)->prev, typeof(*(element)), list_member)
 
 /**
  * This function must not be called for the last element of
@@ -256,7 +254,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @return pointer to the node after 'element'
  *    (automatically converted to type 'element')
  */
-#define list_next_element(element, list_member) \
+#define list_next_element(element, list_member)                                                                        \
   container_of((&(element)->list_member)->next, typeof(*(element)), list_member)
 
 /**
@@ -269,7 +267,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @return pointer to the node before 'element'
  *    (automatically converted to type 'element')
  */
-#define list_prev_element(element, list_member) \
+#define list_prev_element(element, list_member)                                                                        \
   container_of((&(element)->list_member)->prev, typeof(*(element)), list_member)
 
 /**
@@ -282,9 +280,8 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param element iterator pointer to list element struct
  * @param list_member name of list_entity within list element struct
  */
-#define list_for_element_range(first_element, last_element, element, list_member) \
-  for (element = (first_element); \
-       element->list_member.prev != &(last_element)->list_member; \
+#define list_for_element_range(first_element, last_element, element, list_member)                                      \
+  for (element = (first_element); element->list_member.prev != &(last_element)->list_member;                           \
        element = list_next_element(element, list_member))
 
 /**
@@ -297,9 +294,8 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param element iterator pointer to list element struct
  * @param list_member name of list_entity within list element struct
  */
-#define list_for_element_range_reverse(first_element, last_element, element, list_member) \
-  for (element = (last_element); \
-       element->list_member.next != &(first_element)->list_member; \
+#define list_for_element_range_reverse(first_element, last_element, element, list_member)                              \
+  for (element = (last_element); element->list_member.next != &(first_element)->list_member;                           \
        element = list_prev_element(element, list_member))
 
 /**
@@ -313,10 +309,9 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param list_member name of the list_entity element inside the
  *    larger struct
  */
-#define list_for_each_element(head, element, list_member) \
-  list_for_element_range(list_first_element(head, element, list_member), \
-                         list_last_element(head, element, list_member), \
-                         element, list_member)
+#define list_for_each_element(head, element, list_member)                                                              \
+  list_for_element_range(list_first_element(head, element, list_member),                                               \
+    list_last_element(head, element, list_member), element, list_member)
 
 /**
  * Loop over all elements of a list backwards, used similar to a for() command.
@@ -329,10 +324,9 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param list_member name of the list_entity element inside the
  *    larger struct
  */
-#define list_for_each_element_reverse(head, element, list_member) \
-  list_for_element_range_reverse(list_first_element(head, element, list_member), \
-                                 list_last_element(head, element, list_member), \
-                                 element, list_member)
+#define list_for_each_element_reverse(head, element, list_member)                                                      \
+  list_for_element_range_reverse(list_first_element(head, element, list_member),                                       \
+    list_last_element(head, element, list_member), element, list_member)
 
 /**
  * Loop over a block of elements of a list, used similar to a for() command.
@@ -347,7 +341,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param list_member name of the list_entity element inside the
  *    larger struct
  */
-#define list_for_element_to_last(head, first, element, list_member) \
+#define list_for_element_to_last(head, first, element, list_member)                                                    \
   list_for_element_range(first, list_last_element(head, element, list_member), element, list_member)
 
 /**
@@ -363,7 +357,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param list_member name of the list_entity element inside the
  *    larger struct
  */
-#define list_for_element_to_last_reverse(head, first, element, list_member) \
+#define list_for_element_to_last_reverse(head, first, element, list_member)                                            \
   list_for_element_range_reverse(first, list_last_element(head, element, list_member), element, list_member)
 
 /**
@@ -379,7 +373,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param list_member name of the list_entity element inside the
  *    larger struct
  */
-#define list_for_first_to_element(head, last, element, list_member) \
+#define list_for_first_to_element(head, last, element, list_member)                                                    \
   list_for_element_range(list_first_element(head, element, list_member), last, element, list_member)
 
 /**
@@ -395,7 +389,7 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param list_member name of the list_entity element inside the
  *    larger struct
  */
-#define list_for_first_to_element_reverse(head, last, element, list_member) \
+#define list_for_first_to_element_reverse(head, last, element, list_member)                                            \
   list_for_element_range_reverse(list_first_element(head, element, list_member), last, element, list_member)
 
 /**
@@ -411,9 +405,9 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param ptr pointer to list element struct which is used to store
  *    the next node during the loop
  */
-#define list_for_element_range_safe(first_element, last_element, element, list_member, ptr) \
-  for (element = (first_element), ptr = list_next_element(element, list_member); \
-       element->list_member.prev != &(last_element)->list_member; \
+#define list_for_element_range_safe(first_element, last_element, element, list_member, ptr)                            \
+  for (element = (first_element), ptr = list_next_element(element, list_member);                                       \
+       element->list_member.prev != &(last_element)->list_member;                                                      \
        element = ptr, ptr = list_next_element(ptr, list_member))
 
 /**
@@ -429,9 +423,9 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param ptr pointer to list element struct which is used to store
  *    the previous node during the loop
  */
-#define list_for_element_range_reverse_safe(first_element, last_element, element, list_member, ptr) \
-  for (element = (last_element), ptr = list_prev_element(element, list_member); \
-       element->list_member.next != &(first_element)->list_member; \
+#define list_for_element_range_reverse_safe(first_element, last_element, element, list_member, ptr)                    \
+  for (element = (last_element), ptr = list_prev_element(element, list_member);                                        \
+       element->list_member.next != &(first_element)->list_member;                                                     \
        element = ptr, ptr = list_prev_element(ptr, list_member))
 
 /**
@@ -448,10 +442,9 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param ptr pointer to an list element struct which is used to store
  *    the next node during the loop
  */
-#define list_for_each_element_safe(head, element, list_member, ptr) \
-  list_for_element_range_safe(list_first_element(head, element, list_member), \
-                              list_last_element(head, element, list_member), \
-                              element, list_member, ptr)
+#define list_for_each_element_safe(head, element, list_member, ptr)                                                    \
+  list_for_element_range_safe(list_first_element(head, element, list_member),                                          \
+    list_last_element(head, element, list_member), element, list_member, ptr)
 
 /**
  * Loop over all elements of a list backwards, used similar to a for() command.
@@ -467,9 +460,8 @@ list_merge(struct list_entity *add_to, struct list_entity *remove_from) {
  * @param ptr pointer to an list element struct which is used to store
  *    the next node during the loop
  */
-#define list_for_each_element_reverse_safe(head, element, list_member, ptr) \
-  list_for_element_range_reverse_safe(list_first_element(head, element, list_member), \
-                                      list_last_element(head, element, list_member), \
-                                      element, list_member, ptr)
+#define list_for_each_element_reverse_safe(head, element, list_member, ptr)                                            \
+  list_for_element_range_reverse_safe(list_first_element(head, element, list_member),                                  \
+    list_last_element(head, element, list_member), element, list_member, ptr)
 
 #endif /* LIST_H_ */
index c866004..80eccc5 100644 (file)
  */
 
 #include <ctype.h>
+#include <net/if.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <net/if.h>
 
 #include "common/common_types.h"
-#include "common/string.h"
 #include "common/netaddr.h"
+#include "common/string.h"
 
-static char *_mac_to_string(char *dst, size_t dst_size,
-    const void *bin, size_t bin_size, char separator);
-static char *_uuid_to_string(char *dst, size_t dst_size,
-    const void *bin, size_t bin_size);
-static int _bin_from_hex(void *bin, size_t bin_size,
-    const char *src, char separator);
-static int _uuid_from_string(void *bin, size_t bin_size,
-    const char *src);
+static char *_mac_to_string(char *dst, size_t dst_size, const void *bin, size_t bin_size, char separator);
+static char *_uuid_to_string(char *dst, size_t dst_size, const void *bin, size_t bin_size);
+static int _bin_from_hex(void *bin, size_t bin_size, const char *src, char separator);
+static int _uuid_from_string(void *bin, size_t bin_size, const char *src);
 static int _subnetmask_to_prefixlen(const char *src);
 static int _read_hexdigit(const char c);
-static bool _binary_is_in_subnet(const struct netaddr *subnet,
-    const void *bin);
+static bool _binary_is_in_subnet(const struct netaddr *subnet, const void *bin);
 
 /* predefined network prefixes */
 
 /*! unspecified network address */
-const struct netaddr NETADDR_UNSPEC = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_UNSPEC, 0 };
+const struct netaddr NETADDR_UNSPEC = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_UNSPEC, 0 };
 
 /*! IPv4 default prefix */
-const struct netaddr NETADDR_IPV4_ANY = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET, 0 };
+const struct netaddr NETADDR_IPV4_ANY = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET, 0 };
 
 /*! IPv6 default prefix */
-const struct netaddr NETADDR_IPV6_ANY = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET6, 0 };
+const struct netaddr NETADDR_IPV6_ANY = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET6, 0 };
 
 /*! IPv4 NULL address */
-const struct netaddr NETADDR_IPV4_BINDTO_ANY = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET, 32 };
+const struct netaddr NETADDR_IPV4_BINDTO_ANY = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET, 32 };
 
 /*! IPv6 NULL address */
-const struct netaddr NETADDR_IPV6_BINDTO_ANY = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET6, 128 };
+const struct netaddr NETADDR_IPV6_BINDTO_ANY = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET6, 128 };
 
 /*! IPv4 multicast prefix */
-const struct netaddr NETADDR_IPV4_MULTICAST = { { 224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET, 4 };
+const struct netaddr NETADDR_IPV4_MULTICAST = { { 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET, 4 };
 
 /*! IPv6 multicast prefix */
-const struct netaddr NETADDR_IPV6_MULTICAST = { { 0xff,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET6, 8 };
+const struct netaddr NETADDR_IPV6_MULTICAST = { { 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET6, 8 };
 
 /*! IPv4 linklocal prefix */
-const struct netaddr NETADDR_IPV4_LINKLOCAL = { { 169,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET, 16 };
+const struct netaddr NETADDR_IPV4_LINKLOCAL = { { 169, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET, 16 };
 
 /*! IPv6 linklocal prefix */
-const struct netaddr NETADDR_IPV6_LINKLOCAL = { { 0xfe,0x80,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET6, 10 };
+const struct netaddr NETADDR_IPV6_LINKLOCAL = { { 0xfe, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET6,
+  10 };
 
 /*! IPv6 unique local prefix */
-const struct netaddr NETADDR_IPV6_ULA = { { 0xfc,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET6, 7 };
+const struct netaddr NETADDR_IPV6_ULA = { { 0xfc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET6, 7 };
 
 /*! IPv6 routable prefix */
-const struct netaddr NETADDR_IPV6_GLOBAL = { { 0x20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET6, 3 };
+const struct netaddr NETADDR_IPV6_GLOBAL = { { 0x20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET6, 3 };
 
 /*! IPv6 ipv4-compatible prefix */
-const struct netaddr NETADDR_IPV6_IPV4COMPATIBLE = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET6, 96 };
+const struct netaddr NETADDR_IPV6_IPV4COMPATIBLE = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET6, 96 };
 
 /*! IPv6 ipv4-mapped prefix */
-const struct netaddr NETADDR_IPV6_IPV4MAPPED = { {0,0,0,0,0,0,0,0,0,0,0xff,0xff,0,0,0,0}, AF_INET6, 96 };
+const struct netaddr NETADDR_IPV6_IPV4MAPPED = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0, 0, 0, 0 }, AF_INET6,
+  96 };
 
 /*! IPv4 loopback prefix */
-const struct netaddr NETADDR_IPV4_LOOPBACK_NET = { {127,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0}, AF_INET, 8 };
+const struct netaddr NETADDR_IPV4_LOOPBACK_NET = { { 127, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, AF_INET, 8 };
 
 /*! IPv6 loopback address */
-const struct netaddr NETADDR_IPV6_LOOPBACK = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, AF_INET6, 128 };
+const struct netaddr NETADDR_IPV6_LOOPBACK = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, AF_INET6, 128 };
 
 /*! Ethernet broadcast */
-const struct netaddr NETADDR_MAC48_BROADCAST = { {0xff,0xff,0xff,0xff,0xff,0xff,0,0,0,0,0,0,0,0,0,0}, AF_MAC48, 48 };
+const struct netaddr NETADDR_MAC48_BROADCAST = { { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+  AF_MAC48, 48 };
 
 /*! socket for binding to any IPv4 address */
-const union netaddr_socket NETADDR_SOCKET_IPV4_ANY = {
-  .v4 = {
-      .sin_family = AF_INET,
-      .sin_port = 0,
-      .sin_addr.s_addr = 0,
-  }
-};
+const union netaddr_socket NETADDR_SOCKET_IPV4_ANY = { .v4 = {
+                                                         .sin_family = AF_INET,
+                                                         .sin_port = 0,
+                                                         .sin_addr.s_addr = 0,
+                                                       } };
 
 /*! socket for binding to any IPv6 address */
-const union netaddr_socket NETADDR_SOCKET_IPV6_ANY = {
-  .v6 = {
-      .sin6_family = AF_INET6,
-      .sin6_port = 0,
-      .sin6_addr.s6_addr32 = { 0,0,0,0 },
-      .sin6_scope_id = 0,
-  }
-};
+const union netaddr_socket NETADDR_SOCKET_IPV6_ANY = { .v6 = {
+                                                         .sin6_family = AF_INET6,
+                                                         .sin6_port = 0,
+                                                         .sin6_addr.s6_addr32 = { 0, 0, 0, 0 },
+                                                         .sin6_scope_id = 0,
+                                                       } };
 
 /* List of predefined address prefixes */
 static const struct {
@@ -160,9 +154,7 @@ static const struct {
  *     of the binary data, -1 otherwise
  */
 int
-netaddr_from_binary_prefix(struct netaddr *dst, const void *binary,
-    size_t len, uint8_t addr_type, uint8_t prefix_len) {
-
+netaddr_from_binary_prefix(struct netaddr *dst, const void *binary, size_t len, uint8_t addr_type, uint8_t prefix_len) {
   memset(dst->_addr, 0, sizeof(dst->_addr));
 
   if (addr_type != 0) {
@@ -174,16 +166,16 @@ netaddr_from_binary_prefix(struct netaddr *dst, const void *binary,
         dst->_type = AF_INET;
         break;
       case 6:
-        dst->_type  = AF_MAC48;
+        dst->_type = AF_MAC48;
         break;
       case 8:
-        dst->_type  = AF_EUI64;
+        dst->_type = AF_EUI64;
         break;
       case 16:
-        dst->_type  = AF_INET6;
+        dst->_type = AF_INET6;
         break;
       default:
-        dst->_type  = AF_UNSPEC;
+        dst->_type = AF_UNSPEC;
         if (len > 16) {
           len = 16;
         }
@@ -237,7 +229,7 @@ netaddr_from_socket(struct netaddr *dst, const union netaddr_socket *src) {
     memcpy(dst->_addr, &src->v4.sin_addr, 4);
     dst->_prefix_len = 32;
   }
-  else if (src->std.sa_family == AF_INET6){
+  else if (src->std.sa_family == AF_INET6) {
     /* ipv6 */
     memcpy(dst->_addr, &src->v6.sin6_addr, 16);
     dst->_prefix_len = 128;
@@ -278,7 +270,7 @@ netaddr_to_socket(union netaddr_socket *dst, const struct netaddr *src) {
   }
 
   /* copy address type */
-  dst->std.sa_family= src->_type;
+  dst->std.sa_family = src->_type;
   return 0;
 }
 
@@ -312,8 +304,7 @@ netaddr_to_autobuf(struct autobuf *abuf, const struct netaddr *src) {
  * @return -1 if an error happened, 0 otherwise
  */
 int
-netaddr_create_host_bin(struct netaddr *host, const struct netaddr *netmask,
-    const void *number, size_t num_length) {
+netaddr_create_host_bin(struct netaddr *host, const struct netaddr *netmask, const void *number, size_t num_length) {
   size_t host_index, number_index;
   uint8_t host_part_length;
   const uint8_t *number_byte;
@@ -336,9 +327,9 @@ netaddr_create_host_bin(struct netaddr *host, const struct netaddr *netmask,
   }
 
   /* calculate starting byte in host and number */
-  host_part_length = (host->_prefix_len - netmask->_prefix_len + 7)/8;
+  host_part_length = (host->_prefix_len - netmask->_prefix_len + 7) / 8;
   if (host_part_length > num_length) {
-    host_index = host->_prefix_len/8 - num_length;
+    host_index = host->_prefix_len / 8 - num_length;
     number_index = 0;
   }
   else {
@@ -369,8 +360,8 @@ netaddr_create_host_bin(struct netaddr *host, const struct netaddr *netmask,
  * @return -1 if an error happened, 0 otherwise
  */
 int
-netaddr_create_prefix(struct netaddr *prefix, const struct netaddr *host,
-    const struct netaddr *netmask, bool truncate) {
+netaddr_create_prefix(
+  struct netaddr *prefix, const struct netaddr *host, const struct netaddr *netmask, bool truncate) {
   int len, maxlen;
   if (host->_type != netmask->_type || host->_type == AF_UNSPEC) {
     return -1;
@@ -387,7 +378,7 @@ netaddr_create_prefix(struct netaddr *prefix, const struct netaddr *host,
     memcpy(&prefix->_addr[0], &host->_addr[0], 16);
   }
 
-  for (len=0; len<maxlen; len++) {
+  for (len = 0; len < maxlen; len++) {
     if (truncate) {
       prefix->_addr[len] = host->_addr[len] & netmask->_addr[len];
     }
@@ -471,8 +462,7 @@ netaddr_truncate(struct netaddr *dst, const struct netaddr *src) {
  * @return 0 if successful read binary data, -1 otherwise
  */
 int
-netaddr_socket_init(union netaddr_socket *combined, const struct netaddr *addr,
-    uint16_t port, unsigned if_index) {
+netaddr_socket_init(union netaddr_socket *combined, const struct netaddr *addr, uint16_t port, unsigned if_index) {
   /* initialize memory block */
   memset(combined, 0, sizeof(*combined));
 
@@ -523,9 +513,8 @@ netaddr_socket_get_port(const union netaddr_socket *sock) {
  * @return pointer to target buffer
  */
 const char *
-netaddr_to_prefixstring(struct netaddr_str *dst,
-    const struct netaddr *src, bool forceprefix) {
-  static const char * NONE = "-";
+netaddr_to_prefixstring(struct netaddr_str *dst, const struct netaddr *src, bool forceprefix) {
+  static const char *NONE = "-";
   const char *result = NULL;
   int maxprefix;
 
@@ -589,7 +578,7 @@ netaddr_from_string(struct netaddr *dst, const char *src) {
   }
 
   /* handle string representations of prefixes */
-  for (i=0; i<ARRAYSIZE(_known_prefixes); i++) {
+  for (i = 0; i < ARRAYSIZE(_known_prefixes); i++) {
     if (strcasecmp(src, _known_prefixes[i].name) == 0) {
       memcpy(dst, _known_prefixes[i].prefix, sizeof(*dst));
       return 0;
@@ -638,11 +627,13 @@ netaddr_from_string(struct netaddr *dst, const char *src) {
 
   if (*ptr2) {
     /* split strings */
-    while (isspace(*ptr2)) *ptr2++ = 0;
+    while (isspace(*ptr2))
+      *ptr2++ = 0;
     if (*ptr2 == '/') {
       *ptr2++ = 0;
     }
-    while (isspace(*ptr2)) *ptr2++ = 0;
+    while (isspace(*ptr2))
+      *ptr2++ = 0;
 
     if (*ptr2 == 0) {
       /* prefixlength is missing */
@@ -659,9 +650,8 @@ netaddr_from_string(struct netaddr *dst, const char *src) {
   }
 
   /* use dst->prefix_len as storage for maximum prefixlen */
-  if ((colon_count == 5 || minus_count == 5)
-      && (colon_count == 0 || minus_count == 0)
-      && !has_point && !has_coloncolon) {
+  if ((colon_count == 5 || minus_count == 5) && (colon_count == 0 || minus_count == 0) && !has_point &&
+      !has_coloncolon) {
     dst->_type = AF_MAC48;
     dst->_prefix_len = 48;
     if (colon_count > 0) {
@@ -728,23 +718,19 @@ netaddr_socket_to_string(struct netaddr_str *dst, const union netaddr_socket *sr
   struct netaddr_str buf;
 
   if (src->std.sa_family == AF_INET) {
-    snprintf(dst->buf, sizeof(*dst), "%s:%d",
-        inet_ntop(AF_INET, &src->v4.sin_addr, buf.buf, sizeof(buf)),
-        ntohs(src->v4.sin_port));
+    snprintf(dst->buf, sizeof(*dst), "%s:%d", inet_ntop(AF_INET, &src->v4.sin_addr, buf.buf, sizeof(buf)),
+      ntohs(src->v4.sin_port));
   }
   else if (src->std.sa_family == AF_INET6) {
     if (src->v6.sin6_scope_id) {
       char scope_buf[IF_NAMESIZE];
 
-      snprintf(dst->buf, sizeof(*dst), "[%s]:%d%%%s",
-          inet_ntop(AF_INET6, &src->v6.sin6_addr, buf.buf, sizeof(buf)),
-          ntohs(src->v6.sin6_port),
-          if_indextoname(src->v6.sin6_scope_id, scope_buf));
+      snprintf(dst->buf, sizeof(*dst), "[%s]:%d%%%s", inet_ntop(AF_INET6, &src->v6.sin6_addr, buf.buf, sizeof(buf)),
+        ntohs(src->v6.sin6_port), if_indextoname(src->v6.sin6_scope_id, scope_buf));
     }
     else {
-      snprintf(dst->buf, sizeof(*dst), "[%s]:%d",
-          inet_ntop(AF_INET6, &src->v6.sin6_addr, buf.buf, sizeof(buf)),
-          ntohs(src->v6.sin6_port));
+      snprintf(dst->buf, sizeof(*dst), "[%s]:%d", inet_ntop(AF_INET6, &src->v6.sin6_addr, buf.buf, sizeof(buf)),
+        ntohs(src->v6.sin6_port));
     }
   }
   else {
@@ -824,8 +810,7 @@ netaddr_cmp_to_socket(const struct netaddr *a1, const union netaddr_socket *a2)
  * @return true if matches, false otherwise
  */
 bool
-netaddr_isequal_binary(const struct netaddr *addr,
-    const void *bin, size_t len, uint16_t af, uint8_t prefix_len) {
+netaddr_isequal_binary(const struct netaddr *addr, const void *bin, size_t len, uint16_t af, uint8_t prefix_len) {
   uint32_t addr_len;
 
   if (addr->_type != af || addr->_prefix_len != prefix_len) {
@@ -849,10 +834,8 @@ netaddr_isequal_binary(const struct netaddr *addr,
  * @return true if part of the prefix, false otherwise
  */
 bool
-netaddr_binary_is_in_subnet(const struct netaddr *subnet,
-    const void *bin, size_t len, uint8_t af_family) {
-  if (subnet->_type != af_family
-      || netaddr_get_maxprefix(subnet) != len * 8) {
+netaddr_binary_is_in_subnet(const struct netaddr *subnet, const void *bin, size_t len, uint8_t af_family) {
+  if (subnet->_type != af_family || netaddr_get_maxprefix(subnet) != len * 8) {
     return false;
   }
   return _binary_is_in_subnet(subnet, bin);
@@ -866,8 +849,7 @@ netaddr_binary_is_in_subnet(const struct netaddr *subnet,
  * @return true if addr is part of subnet, false otherwise
  */
 bool
-netaddr_is_in_subnet(const struct netaddr *subnet,
-    const struct netaddr *addr) {
+netaddr_is_in_subnet(const struct netaddr *subnet, const struct netaddr *addr) {
   if (subnet->_type != addr->_type) {
     return false;
   }
@@ -910,15 +892,13 @@ netaddr_get_af_maxprefix(uint32_t af_type) {
  * @return
  */
 const char *
-inet_ntop(int af, const void *src, char *dst, socklen_t cnt)
-{
+inet_ntop(int af, const void *src, char *dst, socklen_t cnt) {
   if (af == AF_INET) {
     struct sockaddr_in in;
     memset(&in, 0, sizeof(in));
     in.sin_family = AF_INET;
     memcpy(&in.sin_addr, src, sizeof(struct in_addr));
-    getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in),
-        dst, cnt, NULL, 0, NI_NUMERICHOST);
+    getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in), dst, cnt, NULL, 0, NI_NUMERICHOST);
     return dst;
   }
   else if (af == AF_INET6) {
@@ -926,8 +906,7 @@ inet_ntop(int af, const void *src, char *dst, socklen_t cnt)
     memset(&in, 0, sizeof(in));
     in.sin6_family = AF_INET6;
     memcpy(&in.sin6_addr, src, sizeof(struct in_addr6));
-    getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in6),
-        dst, cnt, NULL, 0, NI_NUMERICHOST);
+    getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in6), dst, cnt, NULL, 0, NI_NUMERICHOST);
     return dst;
   }
   return NULL;
@@ -943,8 +922,7 @@ inet_ntop(int af, const void *src, char *dst, socklen_t cnt)
  * @return
  */
 int
-inet_pton(int af, const char *src, void *dst)
-{
+inet_pton(int af, const char *src, void *dst) {
   struct addrinfo hints, *res;
   union netaddr_socket *sock;
 
@@ -956,8 +934,7 @@ inet_pton(int af, const char *src, void *dst)
   hints.ai_family = af;
   hints.ai_flags = AI_NUMERICHOST;
 
-  if (getaddrinfo(src, NULL, &hints, &res) != 0)
-  {
+  if (getaddrinfo(src, NULL, &hints, &res) != 0) {
     return -1;
   }
 
@@ -990,8 +967,7 @@ inet_pton(int af, const char *src, void *dst)
  * @return pointer to target buffer, NULL if an error happened
  */
 static char *
-_mac_to_string(char *dst, size_t dst_size, const void *bin,
-    size_t bin_size, char separator) {
+_mac_to_string(char *dst, size_t dst_size, const void *bin, size_t bin_size, char separator) {
   static const char hex[] = "0123456789abcdef";
   char *last_separator, *_dst;
   const uint8_t *_bin;
@@ -1022,7 +998,7 @@ _mac_to_string(char *dst, size_t dst_size, const void *bin,
     bin_size--;
 
     /* calculate remaining destination size */
-    dst_size-=2;
+    dst_size -= 2;
   }
 
   *last_separator = 0;
@@ -1053,16 +1029,16 @@ _uuid_to_string(char *dst, size_t dst_size, const void *src, size_t src_size) {
 
   _src = src;
   _dst = dst;
-  for (i=0; i<ARRAYSIZE(max_group_len); i++) {
-    if (!_mac_to_string(_dst, dst_size, _src, max_group_len[i]/2, 0)) {
+  for (i = 0; i < ARRAYSIZE(max_group_len); i++) {
+    if (!_mac_to_string(_dst, dst_size, _src, max_group_len[i] / 2, 0)) {
       return NULL;
     }
 
-    _src += (max_group_len[i]/2);
+    _src += (max_group_len[i] / 2);
     _dst += (max_group_len[i]);
     dst_size -= max_group_len[i];
 
-    if (i < ARRAYSIZE(max_group_len)-1) {
+    if (i < ARRAYSIZE(max_group_len) - 1) {
       *_dst++ = '-';
       dst_size--;
     }
@@ -1096,7 +1072,7 @@ _bin_from_hex(void *bin, size_t bin_size, const char *src, char separator) {
       num = (num << 4) + digit_2;
       src++;
     }
-    *_bin++ = (uint8_t) num;
+    *_bin++ = (uint8_t)num;
 
     bin_size--;
 
@@ -1122,14 +1098,14 @@ _bin_from_hex(void *bin, size_t bin_size, const char *src, char separator) {
 static int
 _uuid_from_string(void *bin, size_t bin_size, const char *src) {
   static const size_t max_group_len[5] = { 8, 4, 4, 4, 12 };
-  char buffer[32+4+1];
+  char buffer[32 + 4 + 1];
   char *current_group, *next_group, *_bin;
   size_t i;
 
   if (bin_size < 16) {
     return -1;
   }
-  if (strlen(src) > 32+4) {
+  if (strlen(src) > 32 + 4) {
     return -1;
   }
 
@@ -1137,13 +1113,13 @@ _uuid_from_string(void *bin, size_t bin_size, const char *src) {
 
   _bin = bin;
   current_group = buffer;
-  for (i=0; i<ARRAYSIZE(max_group_len); i++) {
+  for (i = 0; i < ARRAYSIZE(max_group_len); i++) {
     next_group = strchr(current_group, '-');
     if (next_group) {
       /* zero terminate current group */
       *next_group++ = 0;
     }
-    else if (i != ARRAYSIZE(max_group_len)-1) {
+    else if (i != ARRAYSIZE(max_group_len) - 1) {
       /* not enough components */
       return -1;
     }
@@ -1154,12 +1130,12 @@ _uuid_from_string(void *bin, size_t bin_size, const char *src) {
     }
 
     /* parse data, we expect a precise number of hex-numbers */
-    if (_bin_from_hex(_bin, max_group_len[i]/2, current_group, 0)) {
+    if (_bin_from_hex(_bin, max_group_len[i] / 2, current_group, 0)) {
       return -1;
     }
 
     current_group = next_group;
-    _bin = _bin + max_group_len[i]/2;
+    _bin = _bin + max_group_len[i] / 2;
   }
   return 0;
 }
@@ -1240,8 +1216,7 @@ _binary_is_in_subnet(const struct netaddr *subnet, const void *bin) {
 
   /* compare bits if necessary */
   if (bit_length != 0) {
-    return (subnet->_addr[byte_length] >> (8 - bit_length))
-        == (_bin[byte_length] >> (8 - bit_length));
+    return (subnet->_addr[byte_length] >> (8 - bit_length)) == (_bin[byte_length] >> (8 - bit_length));
   }
   return true;
 }
index 9219faf..f4c983a 100644 (file)
 #ifndef NETADDR_H_
 #define NETADDR_H_
 
-
 #ifndef _WIN32
 #include <arpa/inet.h>
+#include <net/if.h>
 #include <netinet/if_ether.h>
 #include <netinet/ip.h>
-#include <net/if.h>
 #else
 #include <winsock2.h>
 #include <ws2tcpip.h>
 #include <assert.h>
 #include <string.h>
 
-#include "common/common_types.h"
 #include "common/autobuf.h"
+#include "common/common_types.h"
 
-enum {
+enum
+{
   /*! address family for 48-bit mac address */
   AF_MAC48 = AF_MAX + 1,
 
@@ -76,16 +76,17 @@ enum {
   AF_UUID = AF_MAX + 3,
 };
 
-enum {
+enum
+{
   /*! maximum length of a network address in octets */
   NETADDR_MAX_LENGTH = 16
 };
 
 /*! text name for IPv4_ANY prefix */
-#define NETADDR_STR_ANY4       "any4"
+#define NETADDR_STR_ANY4 "any4"
 
 /*! text name for IPv6 ANY prefix */
-#define NETADDR_STR_ANY6       "any6"
+#define NETADDR_STR_ANY6 "any6"
 
 /*! text name for IPv4 linklocal prefix */
 #define NETADDR_STR_LINKLOCAL4 "linklocal4"
@@ -94,7 +95,7 @@ enum {
 #define NETADDR_STR_LINKLOCAL6 "linklocal6"
 
 /*! text name for IPv6 unique local prefix */
-#define NETADDR_STR_ULA        "ula"
+#define NETADDR_STR_ULA "ula"
 
 /**
  * Representation of an address including address type
@@ -135,7 +136,8 @@ union netaddr_socket {
  * INET_ADDRSTRLEN and INET6_ADDRSTRLEN have been defined
  * in netinet/in.h, which has been included by this file
  */
-enum {
+enum
+{
   MAC48_ADDRSTRLEN = 18,
   MAC48_PREFIXSTRLEN = MAC48_ADDRSTRLEN + 3,
   EUI64_ADDRSTRLEN = 24,
@@ -150,7 +152,7 @@ enum {
  */
 struct netaddr_str {
   /*! buffer for maximum length netaddr string representation */
-  char buf[INET6_ADDRSTRLEN+16];
+  char buf[INET6_ADDRSTRLEN + 16];
 };
 
 EXPORT extern const struct netaddr NETADDR_UNSPEC;
@@ -175,33 +177,30 @@ EXPORT extern const struct netaddr NETADDR_MAC48_BROADCAST;
 EXPORT extern const union netaddr_socket NETADDR_SOCKET_IPV4_ANY;
 EXPORT extern const union netaddr_socket NETADDR_SOCKET_IPV6_ANY;
 
-EXPORT int netaddr_from_binary_prefix(struct netaddr *dst,
-    const void *binary, size_t len, uint8_t addr_type, uint8_t prefix_len);
+EXPORT int netaddr_from_binary_prefix(
+  struct netaddr *dst, const void *binary, size_t len, uint8_t addr_type, uint8_t prefix_len);
 EXPORT int netaddr_to_binary(void *dst, const struct netaddr *src, size_t len);
 EXPORT int netaddr_from_socket(struct netaddr *dst, const union netaddr_socket *src);
 EXPORT int netaddr_to_socket(union netaddr_socket *dst, const struct netaddr *src);
 EXPORT int netaddr_to_autobuf(struct autobuf *, const struct netaddr *src);
-EXPORT int netaddr_create_host_bin(struct netaddr *host, const struct netaddr *netmask,
-    const void *number, size_t num_length);
-EXPORT int netaddr_create_prefix(struct netaddr *prefix, const struct netaddr *host,
-    const struct netaddr *netmask, bool truncate);
+EXPORT int netaddr_create_host_bin(
+  struct netaddr *host, const struct netaddr *netmask, const void *number, size_t num_length);
+EXPORT int netaddr_create_prefix(
+  struct netaddr *prefix, const struct netaddr *host, const struct netaddr *netmask, bool truncate);
 EXPORT void netaddr_truncate(struct netaddr *dst, const struct netaddr *src);
 
-EXPORT int netaddr_socket_init(union netaddr_socket *combined,
-    const struct netaddr *addr, uint16_t port, unsigned if_index);
+EXPORT int netaddr_socket_init(
+  union netaddr_socket *combined, const struct netaddr *addr, uint16_t port, unsigned if_index);
 EXPORT uint16_t netaddr_socket_get_port(const union netaddr_socket *sock);
-EXPORT const char *netaddr_to_prefixstring(
-    struct netaddr_str *dst, const struct netaddr *src, bool forceprefix);
+EXPORT const char *netaddr_to_prefixstring(struct netaddr_str *dst, const struct netaddr *src, bool forceprefix);
 EXPORT int netaddr_from_string(struct netaddr *, const char *) __attribute__((warn_unused_result));
 EXPORT const char *netaddr_socket_to_string(struct netaddr_str *, const union netaddr_socket *);
 
 EXPORT int netaddr_cmp_to_socket(const struct netaddr *, const union netaddr_socket *);
-EXPORT bool netaddr_isequal_binary(const struct netaddr *addr,
-    const void *bin, size_t len, uint16_t af, uint8_t prefix_len);
-EXPORT bool netaddr_is_in_subnet(const struct netaddr *subnet,
-    const struct netaddr *addr);
-EXPORT bool netaddr_binary_is_in_subnet(const struct netaddr *subnet,
-    const void *bin, size_t len, uint8_t af_family);
+EXPORT bool netaddr_isequal_binary(
+  const struct netaddr *addr, const void *bin, size_t len, uint16_t af, uint8_t prefix_len);
+EXPORT bool netaddr_is_in_subnet(const struct netaddr *subnet, const struct netaddr *addr);
+EXPORT bool netaddr_binary_is_in_subnet(const struct netaddr *subnet, const void *bin, size_t len, uint8_t af_family);
 
 EXPORT uint8_t netaddr_get_af_maxprefix(const uint32_t);
 
@@ -209,8 +208,8 @@ EXPORT int netaddr_avlcmp(const void *, const void *);
 EXPORT int netaddr_socket_avlcmp(const void *, const void *);
 
 #ifdef WIN32
-EXPORT const char *inet_ntop(int af, const void* src, char* dst, int cnt);
-EXPORT int inet_pton(int af, const char *cp, void * buf);
+EXPORT const char *inet_ntop(int af, const void *src, char *dst, int cnt);
+EXPORT int inet_pton(int af, const char *cp, void *buf);
 #endif
 
 /**
@@ -291,10 +290,8 @@ netaddr_to_string(struct netaddr_str *dst, const struct netaddr *src) {
  * @return -1 if an error happened, 0 otherwise
  */
 static INLINE int
-netaddr_create_host(struct netaddr *host, const struct netaddr *netmask,
-    const struct netaddr *host_number) {
-  return netaddr_create_host_bin(host, netmask, host_number->_addr,
-      netaddr_get_maxprefix(host_number)/8);
+netaddr_create_host(struct netaddr *host, const struct netaddr *netmask, const struct netaddr *host_number) {
+  return netaddr_create_host_bin(host, netmask, host_number->_addr, netaddr_get_maxprefix(host_number) / 8);
 }
 
 /**
@@ -333,8 +330,7 @@ netaddr_extract_ipv4_compatible(struct netaddr *dst, const struct netaddr *src)
  * @return 0 if successful read binary data, -1 otherwise
  */
 static INLINE int
-netaddr_from_binary(struct netaddr *dst, const void *binary,
-    size_t len, uint8_t addr_type) {
+netaddr_from_binary(struct netaddr *dst, const void *binary, size_t len, uint8_t addr_type) {
   return netaddr_from_binary_prefix(dst, binary, len, addr_type, 255);
 }
 
index fc2bde3..43042ed 100644 (file)
@@ -43,9 +43,9 @@
  * @file
  */
 
+#include "common/netaddr_acl.h"
 #include "common/common_types.h"
 #include "common/netaddr.h"
-#include "common/netaddr_acl.h"
 #include "common/string.h"
 
 static bool _is_in_array(const struct netaddr *, size_t, const struct netaddr *);
@@ -82,8 +82,7 @@ netaddr_acl_remove(struct netaddr_acl *acl) {
  * @return -1 if an error happened, 0 otherwise
  */
 int
-netaddr_acl_from_strarray(struct netaddr_acl *acl,
-    const struct const_strarray *value) {
+netaddr_acl_from_strarray(struct netaddr_acl *acl, const struct const_strarray *value) {
   size_t accept_count, reject_count;
   const char *ptr, *addr;
 
@@ -142,7 +141,7 @@ netaddr_acl_from_strarray(struct netaddr_acl *acl,
     }
     else {
       if (netaddr_from_string(&acl->accept[acl->accept_count], addr)) {
-         goto from_entry_error;
+        goto from_entry_error;
       }
       acl->accept_count++;
     }
@@ -249,7 +248,7 @@ static bool
 _is_in_array(const struct netaddr *array, size_t length, const struct netaddr *addr) {
   size_t i;
 
-  for (i=0; i<length; i++) {
+  for (i = 0; i < length; i++) {
     if (netaddr_is_in_subnet(&array[i], addr)) {
       return true;
     }
index 2ccb721..c286c89 100644 (file)
@@ -46,9 +46,9 @@
 #include <assert.h>
 #include <ctype.h>
 #include <errno.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <stdio.h>
 
 #include "common/string.h"
 
@@ -56,8 +56,9 @@
  * @param size minimum size of block
  * @return rounded up block size of STRARRAY_BLOCKSIZE
  */
-static INLINE size_t STRARRAY_MEMSIZE(const size_t size) {
-  return (size + STRARRAY_BLOCKSIZE-1) & (~(STRARRAY_BLOCKSIZE - 1));
+static INLINE size_t
+STRARRAY_MEMSIZE(const size_t size) {
+  return (size + STRARRAY_BLOCKSIZE - 1) & (~(STRARRAY_BLOCKSIZE - 1));
 }
 
 /**
@@ -70,15 +71,14 @@ static INLINE size_t STRARRAY_MEMSIZE(const size_t size) {
  * @return pointer to target buffer
  */
 char *
-strscpy(char *dest, const char *src, size_t size)
-{
+strscpy(char *dest, const char *src, size_t size) {
   if (dest == NULL || src == NULL || size == 0) {
     return dest;
   }
 
   /* src does not need to be null terminated */
-  strncpy(dest, src, size-1);
-  dest[size-1] = 0;
+  strncpy(dest, src, size - 1);
+  dest[size - 1] = 0;
 
   return dest;
 }
@@ -96,8 +96,7 @@ strscpy(char *dest, const char *src, size_t size)
  * @return pointer to target buffer
  */
 char *
-strscat(char *dest, const char *src, size_t size)
-{
+strscat(char *dest, const char *src, size_t size) {
   size_t l;
 
   if (dest == NULL || src == NULL || size == 0 || *src == 0) {
@@ -117,7 +116,7 @@ strscat(char *dest, const char *src, size_t size)
  * @return pointer to first non-whitespace character in string
  */
 char *
-str_trim (char *ptr) {
+str_trim(char *ptr) {
   size_t len;
 
   if (!ptr) {
@@ -148,7 +147,7 @@ str_trim (char *ptr) {
  * @return pointer to the string behind the word, NULL if no match
  */
 const char *
-str_hasnextword (const char *buffer, const char *word) {
+str_hasnextword(const char *buffer, const char *word) {
   /* sanity check */
   if (buffer == NULL) {
     return NULL;
@@ -183,7 +182,7 @@ str_hasnextword (const char *buffer, const char *word) {
  * @return pointer to next word behind the copied word
  */
 const char *
-str_cpynextword (char *dst, const char *src, size_t len) {
+str_cpynextword(char *dst, const char *src, size_t len) {
   size_t i;
 
   /* sanity check */
@@ -199,7 +198,7 @@ str_cpynextword (char *dst, const char *src, size_t len) {
 
   /* copy next word */
   i = 0;
-  while (*src != 0 && !isblank(*src) && i < len-1) {
+  while (*src != 0 && !isblank(*src) && i < len - 1) {
     dst[i++] = *src++;
   }
 
@@ -226,7 +225,7 @@ str_cpynextword (char *dst, const char *src, size_t len) {
  * @return pointer to next word behind the skipped word
  */
 const char *
-str_skipnextword (const char *src) {
+str_skipnextword(const char *src) {
   /* sanity check */
   if (src == NULL) {
     return NULL;
@@ -391,8 +390,7 @@ strarray_prepend(struct strarray *array, const char *string) {
  * @param resize array afterwards
  */
 void
-strarray_remove_ext(struct strarray *array,
-    char *element, bool resize) {
+strarray_remove_ext(struct strarray *array, char *element, bool resize) {
   char *ptr1;
   size_t len;
 
@@ -436,7 +434,7 @@ strarray_get_count(const struct strarray *array) {
   char *ptr;
 
   strarray_for_each_element(array, ptr) {
-    count ++;
+    count++;
   }
   return count;
 }
@@ -455,7 +453,7 @@ strarray_get(const struct strarray *array, size_t idx) {
     if (count == idx) {
       return ptr;
     }
-    count ++;
+    count++;
   }
   return NULL;
 }
index 05d777f..23a9118 100644 (file)
 #ifndef COMMON_STRING_H_
 #define COMMON_STRING_H_
 
+#include <ctype.h>
 #include <stdlib.h>
 #include <string.h>
 #include <strings.h>
-#include <ctype.h>
 
 #include "common/common_types.h"
 
-enum {
+enum
+{
   /*! block size for allocated string arrays */
   STRARRAY_BLOCKSIZE = 64
 };
@@ -62,7 +63,8 @@ enum {
  * Macro to statically initialize a string array
  * @param str string array representation
  */
-#define STRARRAY_INIT(str) { .value = (str), .length = sizeof(str) }
+#define STRARRAY_INIT(str)                                                                                             \
+  { .value = (str), .length = sizeof(str) }
 
 /**
  * Represents a string or an array of strings
@@ -85,19 +87,19 @@ struct strarray {
  * Constant value variant of strarray
  */
 struct const_strarray {
-    /*! pointer to the first string */
+  /*! pointer to the first string */
   const char *value;
 
   /*! total length of all strings including zero-bytes */
   size_t length;
 };
 
-EXPORT char *strscpy (char *dest, const char *src, size_t size);
-EXPORT char *strscat (char *dest, const char *src, size_t size);
-EXPORT char *str_trim (char *ptr);
-EXPORT const char *str_hasnextword (const char *buffer, const char *word);
-EXPORT const char *str_cpynextword (char *dst, const char *buffer, size_t len);
-EXPORT const char *str_skipnextword (const char *src);
+EXPORT char *strscpy(char *dest, const char *src, size_t size);
+EXPORT char *strscat(char *dest, const char *src, size_t size);
+EXPORT char *str_trim(char *ptr);
+EXPORT const char *str_hasnextword(const char *buffer, const char *word);
+EXPORT const char *str_cpynextword(char *dst, const char *buffer, size_t len);
+EXPORT const char *str_skipnextword(const char *src);
 EXPORT size_t str_countwords(const char *src);
 
 EXPORT bool str_is_printable(const char *value);
@@ -118,7 +120,7 @@ EXPORT int strarray_cmp(const struct strarray *a1, const struct strarray *a2);
  */
 static INLINE bool
 str_char_is_printable(char c) {
-  unsigned char uc = (unsigned char) c;
+  unsigned char uc = (unsigned char)c;
   return !(uc < 32 || uc == 127 || uc == 255);
 }
 
@@ -156,7 +158,7 @@ str_endswith(const char *string, const char *pattern) {
   s_len = strlen(string);
   p_len = strlen(pattern);
 
-  return s_len > p_len && strcmp(&string[s_len-p_len], pattern) == 0;
+  return s_len > p_len && strcmp(&string[s_len - p_len], pattern) == 0;
 }
 
 /**
@@ -173,7 +175,7 @@ str_endswith_nocase(const char *string, const char *pattern) {
   s_len = strlen(string);
   p_len = strlen(pattern);
 
-  return s_len > p_len && strcasecmp(&string[s_len-p_len], pattern) == 0;
+  return s_len > p_len && strcasecmp(&string[s_len - p_len], pattern) == 0;
 }
 
 /**
@@ -207,7 +209,6 @@ strarray_get_count_c(const struct const_strarray *array) {
   return strarray_get_count((const struct strarray *)array);
 }
 
-
 /**
  * Initialize string array object
  * @param array pointer to string array object
@@ -319,8 +320,7 @@ strarray_get_next_safe(const struct strarray *array, char *current) {
  *   NULL if there is no further string
  */
 static INLINE const char *
-strarray_get_next_safe_c(const struct const_strarray *array,
-    const char *current) {
+strarray_get_next_safe_c(const struct const_strarray *array, const char *current) {
   const char *next;
 
   next = current + strlen(current) + 1;
@@ -349,6 +349,8 @@ strarray_cmp_c(const struct const_strarray *a1, const struct const_strarray *a2)
  * @param array pointer to strarray object
  * @param charptr pointer to loop variable
  */
-#define strarray_for_each_element(array, charptr) for (charptr = (array)->value; charptr != NULL && (size_t)charptr < (size_t)(array)->value + (array)->length; charptr += strlen(charptr) + 1)
+#define strarray_for_each_element(array, charptr)                                                                      \
+  for (charptr = (array)->value; charptr != NULL && (size_t)charptr < (size_t)(array)->value + (array)->length;        \
+       charptr += strlen(charptr) + 1)
 
 #endif
index 2659388..8bbc506 100644 (file)
 #include <stdio.h>
 #include <stdlib.h>
 
-#include "common/common_types.h"
 #include "common/autobuf.h"
+#include "common/common_types.h"
 #include "common/string.h"
 #include "common/template.h"
 
 static struct abuf_template_data_entry *_find_template(
-    struct abuf_template_data *set, size_t set_count, const char *txt, size_t txtLength);
+  struct abuf_template_data *set, size_t set_count, const char *txt, size_t txtLength);
 
 /**
  * Initialize an index table for a template engine.
@@ -67,8 +67,8 @@ static struct abuf_template_data_entry *_find_template(
  * @param format format string of the template
  */
 void
-abuf_template_init_ext(struct abuf_template_storage *storage,
-    struct abuf_template_data *data, size_t data_count, const char *format) {
+abuf_template_init_ext(
+  struct abuf_template_storage *storage, struct abuf_template_data *data, size_t data_count, const char *format) {
   /* helper string for 'just one tab between keys' */
   static const char default_format[] = "\t";
 
@@ -77,7 +77,7 @@ abuf_template_init_ext(struct abuf_template_storage *storage,
   bool escape = false;
   size_t start = 0;
   size_t pos = 0;
-  size_t i,j;
+  size_t i, j;
 
   memset(storage, 0, sizeof(*storage));
 
@@ -98,7 +98,7 @@ abuf_template_init_ext(struct abuf_template_storage *storage,
 
     if (storage->count) {
       storage->indices[0].start = 0;
-      storage->indices[storage->count-1].end = 1;
+      storage->indices[storage->count - 1].end = 1;
     }
     return;
   }
@@ -112,10 +112,10 @@ abuf_template_init_ext(struct abuf_template_storage *storage,
         continue;
       }
       if (pos - start > 1) {
-        d = _find_template(data, data_count, &format[start+1], pos-start-1);
+        d = _find_template(data, data_count, &format[start + 1], pos - start - 1);
         if (d) {
           storage->indices[storage->count].start = start;
-          storage->indices[storage->count].end = pos+1;
+          storage->indices[storage->count].end = pos + 1;
           storage->indices[storage->count].data = d;
 
           storage->count++;
@@ -146,13 +146,12 @@ abuf_template_init_ext(struct abuf_template_storage *storage,
  *   false to insert the values.
  */
 void
-abuf_add_template(struct autobuf *out,
-    struct abuf_template_storage *storage, bool keys) {
+abuf_add_template(struct autobuf *out, struct abuf_template_storage *storage, bool keys) {
   struct abuf_template_storage_entry *entry;
   size_t i, last = 0;
   const char *value;
 
-  for (i=0; i<storage->count; i++) {
+  for (i = 0; i < storage->count; i++) {
     entry = &storage->indices[i];
 
     /* copy prefix text */
@@ -189,8 +188,8 @@ static struct abuf_template_data_entry *
 _find_template(struct abuf_template_data *set, size_t set_count, const char *txt, size_t txtLength) {
   size_t i, j;
 
-  for (j=0; j<set_count; j++) {
-    for (i=0; i<set[j].count; i++) {
+  for (j = 0; j < set_count; j++) {
+    for (i = 0; i < set[j].count; i++) {
       const char *key;
 
       key = set[j].data[i].key;
index 2028876..85856fc 100644 (file)
 #ifndef TEMPLATE_H_
 #define TEMPLATE_H_
 
-#include "common/common_types.h"
 #include "common/autobuf.h"
+#include "common/common_types.h"
 
 /*! text name for json boolean true value */
-#define TEMPLATE_JSON_TRUE            "true"
+#define TEMPLATE_JSON_TRUE "true"
 
 /*! text name for json boolean false value */
-#define TEMPLATE_JSON_FALSE           "false"
+#define TEMPLATE_JSON_FALSE "false"
 
-enum {
+enum
+{
   /*! length of text buffer for json boolean */
   TEMPLATE_JSON_BOOL_LENGTH = 6,
 
   /*! maximum number of template keys per template */
-  TEMPLATE_MAX_KEYS         = 64
+  TEMPLATE_MAX_KEYS = 64
 };
 
 /**
@@ -117,10 +118,9 @@ struct abuf_template_storage {
   struct abuf_template_storage_entry indices[TEMPLATE_MAX_KEYS];
 };
 
-EXPORT void abuf_template_init_ext (struct abuf_template_storage *storage,
-    struct abuf_template_data *data, size_t data_count, const char *format);
-EXPORT void abuf_add_template(struct autobuf *out,
-    struct abuf_template_storage *storage, bool keys);
+EXPORT void abuf_template_init_ext(
+  struct abuf_template_storage *storage, struct abuf_template_data *data, size_t data_count, const char *format);
+EXPORT void abuf_add_template(struct autobuf *out, struct abuf_template_storage *storage, bool keys);
 
 /**
  * Helper function to initialize a template with
@@ -131,8 +131,8 @@ EXPORT void abuf_add_template(struct autobuf *out,
  * @param format format string for template generation
  */
 static INLINE void
-abuf_template_init(struct abuf_template_storage *storage,
-    struct abuf_template_data_entry *entry, size_t entry_count, const char *format) {
+abuf_template_init(struct abuf_template_storage *storage, struct abuf_template_data_entry *entry, size_t entry_count,
+  const char *format) {
   struct abuf_template_data data = { entry, entry_count };
   abuf_template_init_ext(storage, &data, 1, format);
 }
index eff415a..be4dcf3 100644 (file)
@@ -50,8 +50,8 @@
 #include "common/avl.h"
 #include "common/avl_comp.h"
 #include "common/common_types.h"
-#include "config/cfg_io.h"
 #include "config/cfg.h"
+#include "config/cfg_io.h"
 
 static int avl_comp_cfgio(const void *txt1, const void *txt2);
 
@@ -95,7 +95,8 @@ cfg_append_printable_line(struct autobuf *autobuf, const char *fmt, ...) {
   int rv;
   va_list ap;
 
-  if (autobuf == NULL) return 0;
+  if (autobuf == NULL)
+    return 0;
 
   _value = (unsigned char *)abuf_getptr(autobuf) + abuf_getlen(autobuf);
   len = abuf_getlen(autobuf);
@@ -128,8 +129,8 @@ cfg_append_printable_line(struct autobuf *autobuf, const char *fmt, ...) {
 bool
 cfg_is_allowed_key(const char *key) {
   static const char *valid = "_0123456789"
-      "abcdefghijklmnopqrstuvwxyz"
-      "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+                             "abcdefghijklmnopqrstuvwxyz"
+                             "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   /* test for [a-zA-Z_][a-zA-Z0-9_]* */
   if (*key >= '0' && *key <= '9') {
     return false;
@@ -168,14 +169,13 @@ cfg_avlcmp_keys(const void *p1, const void *p2) {
  */
 const char *
 cfg_get_choice_array_value(size_t idx, const void *ptr) {
-  const char * const *string_array;
+  const char *const *string_array;
 
   string_array = ptr;
 
   return string_array[idx];
 }
 
-
 /**
  * Looks up the index of a string within a string array
  * @param key pointer to string to be looked up in the array
@@ -185,14 +185,13 @@ cfg_get_choice_array_value(size_t idx, const void *ptr) {
  * @return index of the string inside the array, -1 if not found
  */
 int
-cfg_get_choice_index(const char *key,
-    const char *(*callback)(size_t idx, const void *ptr),
-    size_t choices_count, const void *ptr) {
+cfg_get_choice_index(
+  const char *key, const char *(*callback)(size_t idx, const void *ptr), size_t choices_count, const void *ptr) {
   size_t i;
 
-  for (i=0; i<choices_count; i++) {
+  for (i = 0; i < choices_count; i++) {
     if (strcasecmp(key, callback(i, ptr)) == 0) {
-      return (int) i;
+      return (int)i;
     }
   }
   return -1;
index d9531d6..eefd1af 100644 (file)
@@ -51,12 +51,13 @@ struct cfg_instance;
 
 #include <ctype.h>
 
-#include "common/avl.h"
 #include "common/autobuf.h"
+#include "common/avl.h"
 #include "common/common_types.h"
 
 #include "config/cfg_cmd.h"
 #include "config/cfg_io.h"
+#include "config/cfg_schema.h"
 
 /*! Separator for configuration URL */
 #define CFG_IO_URL_SPLITTER "://"
@@ -76,12 +77,11 @@ EXPORT void cfg_add(struct cfg_instance *);
 EXPORT void cfg_remove(struct cfg_instance *);
 
 EXPORT int cfg_append_printable_line(struct autobuf *autobuf, const char *fmt, ...)
-  __attribute__ ((format(printf, 2, 3)));
+  __attribute__((format(printf, 2, 3)));
 EXPORT bool cfg_is_allowed_key(const char *key);
 EXPORT const char *cfg_get_choice_array_value(size_t idx, const void *ptr);
-EXPORT int cfg_get_choice_index(const char *key,
-    const char *(*callback)(size_t idx, const void *ptr),
-    size_t choices_count, const void *ptr);
+EXPORT int cfg_get_choice_index(
+  const char *key, const char *(*callback)(size_t idx, const void *ptr), size_t choices_count, const void *ptr);
 
 EXPORT int cfg_avlcmp_keys(const void *p1, const void *p2);
 
@@ -107,8 +107,7 @@ cfg_cmp_keys(const char *str1, const char *str2) {
  */
 static INLINE bool
 cfg_get_bool(const char *value) {
-  return cfg_get_choice_index(value, cfg_get_choice_array_value,
-      ARRAYSIZE(CFGLIST_BOOL_TRUE), CFGLIST_BOOL_TRUE) >= 0;
+  return cfg_get_choice_index(value, cfg_get_choice_array_value, ARRAYSIZE(CFGLIST_BOOL_TRUE), CFGLIST_BOOL_TRUE) >= 0;
 }
 
 /**
@@ -118,8 +117,7 @@ cfg_get_bool(const char *value) {
  */
 static INLINE bool
 cfg_is_bool(const char *value) {
-  return cfg_get_choice_index(value, cfg_get_choice_array_value,
-      ARRAYSIZE(CFGLIST_BOOL), CFGLIST_BOOL) >= 0;
+  return cfg_get_choice_index(value, cfg_get_choice_array_value, ARRAYSIZE(CFGLIST_BOOL), CFGLIST_BOOL) >= 0;
 }
 
 /**
index 22ef7e9..f2d0cc3 100644 (file)
  * @file
  */
 
+#include <regex.h>
 #include <stdlib.h>
 #include <strings.h>
-#include <regex.h>
 
 #include "common/autobuf.h"
 #include "common/common_types.h"
-#include "config/cfg_io.h"
 #include "config/cfg_cmd.h"
 #include "config/cfg_help.h"
+#include "config/cfg_io.h"
 
 /**
  *  contains data parsing logic */
@@ -69,10 +69,8 @@ struct _parsed_argument {
   char *entry_value;
 };
 
-static int _print_schema_section(struct autobuf *log, struct cfg_db *db,
-    const char *section);
-static int _print_schema_entry(struct autobuf *log, struct cfg_db *db,
-    const char *section, const char *entry);
+static int _print_schema_section(struct autobuf *log, struct cfg_db *db, const char *section);
+static int _print_schema_entry(struct autobuf *log, struct cfg_db *db, const char *section, const char *entry);
 static int _do_parse_arg(char *arg, struct _parsed_argument *pa, struct autobuf *log);
 
 /**
@@ -84,8 +82,8 @@ static int _do_parse_arg(char *arg, struct _parsed_argument *pa, struct autobuf
  * @return 0 if succeeded, -1 otherwise
  */
 int
-cfg_cmd_handle_set(struct cfg_instance *instance __attribute__((unused)),
-    struct cfg_db *db, const char *arg, struct autobuf *log) {
+cfg_cmd_handle_set(
+  struct cfg_instance *instance __attribute__((unused)), struct cfg_db *db, const char *arg, struct autobuf *log) {
   struct _parsed_argument pa;
   char *ptr;
   bool dummy;
@@ -104,8 +102,7 @@ cfg_cmd_handle_set(struct cfg_instance *instance __attribute__((unused)),
   }
 
   if (pa.entry_value != NULL) {
-    if (cfg_db_set_entry(db, pa.section_type,
-        pa.section_name, pa.entry_key, pa.entry_value, true)) {
+    if (cfg_db_set_entry(db, pa.section_type, pa.section_name, pa.entry_key, pa.entry_value, true)) {
       result = 0;
     }
     else {
@@ -121,8 +118,7 @@ cfg_cmd_handle_set(struct cfg_instance *instance __attribute__((unused)),
   }
 
   /* set section */
-  if (NULL == _cfg_db_add_section(db,
-      pa.section_type, pa.section_name, &dummy)) {
+  if (NULL == _cfg_db_add_section(db, pa.section_type, pa.section_name, &dummy)) {
     cfg_append_printable_line(log, "Cannot create section: '%s'\n", arg);
     goto handle_set_cleanup;
   }
@@ -142,8 +138,8 @@ handle_set_cleanup:
  * @return 0 if succeeded, -1 otherwise
  */
 int
-cfg_cmd_handle_remove(struct cfg_instance *instance __attribute__((unused)),
-    struct cfg_db *db, const char *arg, struct autobuf *log) {
+cfg_cmd_handle_remove(
+  struct cfg_instance *instance __attribute__((unused)), struct cfg_db *db, const char *arg, struct autobuf *log) {
   struct _parsed_argument pa;
   char *ptr;
   int result;
@@ -204,8 +200,8 @@ handle_remove_cleanup:
  * @return 0 if succeeded, -1 otherwise
  */
 int
-cfg_cmd_handle_get(struct cfg_instance *instance __attribute__((unused)),
-    struct cfg_db *db, const char *arg, struct autobuf *log) {
+cfg_cmd_handle_get(
+  struct cfg_instance *instance __attribute__((unused)), struct cfg_db *db, const char *arg, struct autobuf *log) {
   struct cfg_section_type *type, *type_it;
   struct cfg_named_section *named, *named_it;
   struct cfg_entry *entry, *entry_it;
@@ -240,8 +236,7 @@ cfg_cmd_handle_get(struct cfg_instance *instance __attribute__((unused)),
   }
 
   if (pa.entry_key != NULL) {
-    if (NULL == (entry = cfg_db_find_entry(db,
-        pa.section_type, pa.section_name, pa.entry_key))) {
+    if (NULL == (entry = cfg_db_find_entry(db, pa.section_type, pa.section_name, pa.entry_key))) {
       cfg_append_printable_line(log, "Cannot find data for entry: '%s'\n", arg);
       goto handle_get_cleanup;
     }
@@ -298,8 +293,7 @@ handle_get_cleanup:
  * @return 0 if succeeded, -1 otherwise
  */
 int
-cfg_cmd_handle_load(struct cfg_instance *instance, struct cfg_db *db,
-    const char *arg, struct autobuf *log) {
+cfg_cmd_handle_load(struct cfg_instance *instance, struct cfg_db *db, const char *arg, struct autobuf *log) {
   struct cfg_db *temp_db;
 
   temp_db = cfg_io_load(instance, arg, log);
@@ -319,8 +313,7 @@ cfg_cmd_handle_load(struct cfg_instance *instance, struct cfg_db *db,
  * @return 0 if succeeded, -1 otherwise
  */
 int
-cfg_cmd_handle_save(struct cfg_instance *instance, struct cfg_db *db,
-    const char *arg, struct autobuf *log) {
+cfg_cmd_handle_save(struct cfg_instance *instance, struct cfg_db *db, const char *arg, struct autobuf *log) {
   return cfg_io_save(instance, arg, db, log);
 }
 
@@ -332,8 +325,7 @@ cfg_cmd_handle_save(struct cfg_instance *instance, struct cfg_db *db,
  * @return 0 if succeeded, -1 otherwise
  */
 int
-cfg_cmd_handle_schema(struct cfg_db *db,
-    const char *arg, struct autobuf *log) {
+cfg_cmd_handle_schema(struct cfg_db *db, const char *arg, struct autobuf *log) {
   struct cfg_schema_section *s_section;
   char *copy, *ptr;
   int result;
@@ -345,18 +337,14 @@ cfg_cmd_handle_schema(struct cfg_db *db,
 
   if (arg == NULL || *arg == 0) {
     abuf_puts(log, "List of section types:\n"
-        "(use this command with the types as parameter for more information)\n");
+                   "(use this command with the types as parameter for more information)\n");
     avl_for_each_element(&db->schema->sections, s_section, _section_node) {
       if (!s_section->_section_node.follower) {
-        cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX "%s (%s)%s%s",
-            s_section->type,
-            CFG_SCHEMA_SECTIONMODE[s_section->mode],
-            s_section->help ? ": " : "",
-            s_section->help ? s_section->help : "");
+        cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX "%s (%s)%s%s", s_section->type,
+          CFG_SCHEMA_SECTIONMODE[s_section->mode], s_section->help ? ": " : "", s_section->help ? s_section->help : "");
       }
       else if (s_section->help) {
-        cfg_append_printable_line(log,
-            CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s", s_section->help);
+        cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s", s_section->help);
       }
     }
     return 0;
@@ -395,7 +383,7 @@ cfg_cmd_handle_schema(struct cfg_db *db,
     result = _print_schema_entry(log, db, copy, ptr);
   }
 
-  free (copy);
+  free(copy);
   return result;
 }
 
@@ -415,8 +403,8 @@ _print_schema_section(struct autobuf *log, struct cfg_db *db, const char *sectio
   }
 
   if (s_entry->_parent->mode == CFG_SSMODE_NAMED_WITH_DEFAULT) {
-    cfg_append_printable_line(log, "Section '%s' has default name '%s'",
-        s_entry->_parent->type, s_entry->_parent->def_name);
+    cfg_append_printable_line(
+      log, "Section '%s' has default name '%s'", s_entry->_parent->type, s_entry->_parent->def_name);
   }
 
   if (s_entry->_parent->help) {
@@ -433,15 +421,12 @@ _print_schema_section(struct autobuf *log, struct cfg_db *db, const char *sectio
     }
 
     if (!s_entry_it->_node.follower) {
-      cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX "%s%s%s",
-          s_entry_it->key.entry,
-          strarray_is_empty_c(&s_entry_it->def) ? " (mandatory)" : "",
-              s_entry_it->list ? " (list)" : "");
+      cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX "%s%s%s", s_entry_it->key.entry,
+        strarray_is_empty_c(&s_entry_it->def) ? " (mandatory)" : "", s_entry_it->list ? " (list)" : "");
     }
 #if !defined(REMOVE_HELPTEXT)
     if (s_entry_it->help) {
-      cfg_append_printable_line(log,
-          CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s", s_entry_it->help);
+      cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s", s_entry_it->help);
     }
 #endif
   }
@@ -449,8 +434,7 @@ _print_schema_section(struct autobuf *log, struct cfg_db *db, const char *sectio
 }
 
 static int
-_print_schema_entry(struct autobuf *log, struct cfg_db *db,
-    const char *section, const char *entry) {
+_print_schema_entry(struct autobuf *log, struct cfg_db *db, const char *section, const char *entry) {
   struct cfg_schema_entry *s_entry_it, *s_entry_first, *s_entry_last;
   struct cfg_schema_entry_key key;
   const char *c_ptr;
@@ -464,26 +448,22 @@ _print_schema_entry(struct autobuf *log, struct cfg_db *db,
   avl_for_each_elements_with_key(&db->schema->entries, s_entry_it, _node, s_entry_first, &key) {
     if (s_entry_it == s_entry_first) {
       /* print type/parameter */
-      cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX "%s%s%s",
-          s_entry_it->key.entry,
-          strarray_is_empty_c(&s_entry_it->def) ? " (mandatory)" : "",
-              s_entry_it->list ? " (list)" : "");
+      cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX "%s%s%s", s_entry_it->key.entry,
+        strarray_is_empty_c(&s_entry_it->def) ? " (mandatory)" : "", s_entry_it->list ? " (list)" : "");
 
       /* print defaults */
       if (!strarray_is_empty_c(&s_entry_it->def)) {
         cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX "Default value:");
         strarray_for_each_element(&s_entry_it->def, c_ptr) {
-          cfg_append_printable_line(log,
-              CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "'%s'", c_ptr);
+          cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "'%s'", c_ptr);
         }
       }
     }
 
     if (s_entry_it->cb_valhelp) {
       /* print validator help if different from last validator */
-      if (s_entry_last == NULL || s_entry_last->cb_valhelp != s_entry_it->cb_valhelp
-          || memcmp(&s_entry_last->validate_param, &s_entry_it->validate_param,
-              sizeof(s_entry_it->validate_param)) != 0) {
+      if (s_entry_last == NULL || s_entry_last->cb_valhelp != s_entry_it->cb_valhelp ||
+          memcmp(&s_entry_last->validate_param, &s_entry_it->validate_param, sizeof(s_entry_it->validate_param)) != 0) {
         s_entry_it->cb_valhelp(s_entry_it, log);
         s_entry_last = s_entry_it;
       }
@@ -497,8 +477,7 @@ _print_schema_entry(struct autobuf *log, struct cfg_db *db,
       if (s_entry_it == s_entry_first) {
         abuf_puts(log, CFG_HELP_INDENT_PREFIX "Description:\n");
       }
-      cfg_append_printable_line(log,
-          CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s", s_entry_it->help);
+      cfg_append_printable_line(log, CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s", s_entry_it->help);
     }
   }
 #endif
index 3761bca..da09b3a 100644 (file)
 #include "common/autobuf.h"
 #include "common/common_types.h"
 
-#include "config/cfg_db.h"
 #include "config/cfg.h"
+#include "config/cfg_db.h"
 
 /* state for parsing a command line */
-EXPORT int cfg_cmd_handle_set(struct cfg_instance *instance, struct cfg_db *db,
-    const char *arg, struct autobuf *log);
-EXPORT int cfg_cmd_handle_remove(struct cfg_instance *instance, struct cfg_db *db,
-    const char *arg, struct autobuf *log);
-EXPORT int cfg_cmd_handle_get(struct cfg_instance *instance, struct cfg_db *db,
-    const char *arg, struct autobuf *log);
-EXPORT int cfg_cmd_handle_load(struct cfg_instance *instance,
-    struct cfg_db *db, const char *arg, struct autobuf *log);
-EXPORT int cfg_cmd_handle_save(struct cfg_instance *instance, struct cfg_db *db,
-    const char *arg, struct autobuf *log);
-EXPORT int cfg_cmd_handle_schema(struct cfg_db *db,
-    const char *arg, struct autobuf *log);
+EXPORT int cfg_cmd_handle_set(struct cfg_instance *instance, struct cfg_db *db, const char *arg, struct autobuf *log);
+EXPORT int cfg_cmd_handle_remove(
+  struct cfg_instance *instance, struct cfg_db *db, const char *arg, struct autobuf *log);
+EXPORT int cfg_cmd_handle_get(struct cfg_instance *instance, struct cfg_db *db, const char *arg, struct autobuf *log);
+EXPORT int cfg_cmd_handle_load(struct cfg_instance *instance, struct cfg_db *db, const char *arg, struct autobuf *log);
+EXPORT int cfg_cmd_handle_save(struct cfg_instance *instance, struct cfg_db *db, const char *arg, struct autobuf *log);
+EXPORT int cfg_cmd_handle_schema(struct cfg_db *db, const char *arg, struct autobuf *log);
 
 #endif /* CFG_CMD_H_ */
index 6f9a5eb..54db01c 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
-#include "common/common_types.h"
 #include "common/avl.h"
 #include "common/avl_comp.h"
+#include "common/common_types.h"
 #include "common/string.h"
 
 #include "config/cfg.h"
-#include "config/cfg_schema.h"
 #include "config/cfg_db.h"
+#include "config/cfg_schema.h"
 
 static struct cfg_section_type *_alloc_section(struct cfg_db *, const char *);
 static void _free_sectiontype(struct cfg_section_type *);
 
-static struct cfg_named_section *_alloc_namedsection(
-    struct cfg_section_type *, const char *);
+static struct cfg_named_section *_alloc_namedsection(struct cfg_section_type *, const char *);
 static void _free_namedsection(struct cfg_named_section *);
 
-static struct cfg_entry *_alloc_entry(
-    struct cfg_named_section *, const char *);
+static struct cfg_entry *_alloc_entry(struct cfg_named_section *, const char *);
 static void _free_entry(struct cfg_entry *);
 
 /**
@@ -108,8 +106,8 @@ cfg_db_remove(struct cfg_db *db) {
  *   copy.
  */
 int
-_cfg_db_append(struct cfg_db *dst, struct cfg_db *src,
-    const char *section_type, const char *section_name, const char *entry_name) {
+_cfg_db_append(
+  struct cfg_db *dst, struct cfg_db *src, const char *section_type, const char *section_name, const char *entry_name) {
   struct cfg_section_type *section, *section_it;
   struct cfg_named_section *named, *named_it;
   struct cfg_entry *entry, *entry_it;
@@ -136,8 +134,7 @@ _cfg_db_append(struct cfg_db *dst, struct cfg_db *src,
         }
 
         strarray_for_each_element(&entry->val, ptr) {
-          if (cfg_db_set_entry_ext(
-              dst, section->type, named->name, entry->name, ptr, true, false) == NULL) {
+          if (cfg_db_set_entry_ext(dst, section->type, named->name, entry->name, ptr, true, false) == NULL) {
             return -1;
           }
         }
@@ -157,13 +154,12 @@ _cfg_db_append(struct cfg_db *dst, struct cfg_db *src,
  * @return pointer to named section, NULL if an error happened
  */
 struct cfg_named_section *
-_cfg_db_add_section(struct cfg_db *db, const char *section_type,
-    const char *section_name, bool *new_section) {
+_cfg_db_add_section(struct cfg_db *db, const char *section_type, const char *section_name, bool *new_section) {
   struct cfg_section_type *section;
   struct cfg_named_section *named = NULL;
 
   /* consistency check */
-  assert (section_type);
+  assert(section_type);
 
   *new_section = false;
 
@@ -218,8 +214,7 @@ cfg_db_remove_sectiontype(struct cfg_db *db, const char *section_type) {
  * @return pointer to named section, NULL if not found
  */
 struct cfg_named_section *
-cfg_db_find_namedsection(const struct cfg_db *db,
-    const char *section_type, const char *section_name) {
+cfg_db_find_namedsection(const struct cfg_db *db, const char *section_type, const char *section_name) {
   struct cfg_section_type *section;
   struct cfg_named_section *named = NULL;
 
@@ -241,8 +236,7 @@ cfg_db_find_namedsection(const struct cfg_db *db,
  * @return -1 if section type did not exist, 0 otherwise
  */
 int
-cfg_db_remove_namedsection(struct cfg_db *db, const char *section_type,
-    const char *section_name) {
+cfg_db_remove_namedsection(struct cfg_db *db, const char *section_type, const char *section_name) {
   struct cfg_named_section *named;
 
   named = cfg_db_find_namedsection(db, section_type, section_name);
@@ -269,9 +263,8 @@ cfg_db_remove_namedsection(struct cfg_db *db, const char *section_type,
  * @return pointer to cfg_entry, NULL if an error happened
  */
 struct cfg_entry *
-cfg_db_set_entry_ext(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name, const char *value,
-    bool append, bool front) {
+cfg_db_set_entry_ext(struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name,
+  const char *value, bool append, bool front) {
   struct cfg_entry *entry;
   struct cfg_named_section *named;
   bool new_section = false, new_entry = NULL;
@@ -327,8 +320,7 @@ set_entry_error:
  * @return pointer to configuration entry, NULL if not found
  */
 struct cfg_entry *
-cfg_db_find_entry(struct cfg_db *db,
-    const char *section_type, const char *section_name, const char *entry_name) {
+cfg_db_find_entry(struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name) {
   struct cfg_named_section *named;
   struct cfg_entry *entry = NULL;
 
@@ -349,8 +341,7 @@ cfg_db_find_entry(struct cfg_db *db,
  * @return -1 if the entry did not exist, 0 if it was removed
  */
 int
-cfg_db_remove_entry(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name) {
+cfg_db_remove_entry(struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name) {
   struct cfg_entry *entry;
 
   /* get entry */
@@ -374,8 +365,7 @@ cfg_db_remove_entry(struct cfg_db *db, const char *section_type,
  * @return string value, NULL if not found or list of values
  */
 const struct const_strarray *
-cfg_db_get_entry_value(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name) {
+cfg_db_get_entry_value(struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name) {
   struct cfg_schema_entry_key key;
   struct cfg_schema_entry *s_entry;
   struct cfg_entry *entry;
@@ -415,13 +405,12 @@ cfg_db_get_entry_value(struct cfg_db *db, const char *section_type,
  * @return value of the db entry, default from schema_entry otherwise
  */
 const struct const_strarray *
-cfg_db_get_schema_entry_value(const struct cfg_named_section *section,
-    const struct cfg_schema_entry *schema_entry) {
+cfg_db_get_schema_entry_value(const struct cfg_named_section *section, const struct cfg_schema_entry *schema_entry) {
   const struct const_strarray *value;
 
   if (section) {
-    value = cfg_db_get_entry_value(section->section_type->db,
-        section->section_type->type, section->name, schema_entry->key.entry);
+    value = cfg_db_get_entry_value(
+      section->section_type->db, section->section_type->type, section->name, schema_entry->key.entry);
     if (value) {
       return value;
     }
@@ -440,8 +429,8 @@ cfg_db_get_schema_entry_value(const struct cfg_named_section *section,
  * @return 0 if the element was removed, -1 if it wasn't there
  */
 int
-cfg_db_remove_element(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name, const char *value) {
+cfg_db_remove_element(
+  struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name, const char *value) {
   struct cfg_entry *entry;
   char *ptr;
 
@@ -490,7 +479,7 @@ _alloc_section(struct cfg_db *db, const char *type) {
 
   section->type = strdup(type);
   if (!section->type) {
-    free (section);
+    free(section);
     return NULL;
   }
 
@@ -529,8 +518,7 @@ _free_sectiontype(struct cfg_section_type *section) {
  * @return pointer to named section, NULL if allocation failed
  */
 static struct cfg_named_section *
-_alloc_namedsection(struct cfg_section_type *section,
-    const char *name) {
+_alloc_namedsection(struct cfg_section_type *section, const char *name) {
   struct cfg_named_section *named;
 
   named = calloc(1, sizeof(*section));
@@ -540,7 +528,7 @@ _alloc_namedsection(struct cfg_section_type *section,
 
   named->name = (name == NULL) ? NULL : strdup(name);
   if (!named->name && name != NULL) {
-    free (named);
+    free(named);
     return NULL;
   }
 
@@ -566,8 +554,8 @@ _free_namedsection(struct cfg_named_section *named) {
   }
 
   avl_remove(&named->section_type->names, &named->node);
-  free ((void *)named->name);
-  free (named);
+  free((void *)named->name);
+  free(named);
 }
 
 /**
@@ -578,20 +566,19 @@ _free_namedsection(struct cfg_named_section *named) {
  * @return pointer to configuration entry, NULL if allocation failed
  */
 static struct cfg_entry *
-_alloc_entry(struct cfg_named_section *named,
-    const char *name) {
+_alloc_entry(struct cfg_named_section *named, const char *name) {
   struct cfg_entry *entry;
 
   assert(name);
 
-  entry = calloc (1, sizeof(*entry));
+  entry = calloc(1, sizeof(*entry));
   if (!entry) {
     return NULL;
   }
 
   entry->name = strdup(name);
   if (!entry->name) {
-    free (entry);
+    free(entry);
     return NULL;
   }
 
index 169fe52..70b6720 100644 (file)
@@ -138,7 +138,8 @@ struct cfg_entry {
  *   will be used as the iterator variable
  * @param safeit helper reference of of named section variable
  */
-#define CFG_FOR_ALL_SECTION_NAMES(s_type, s_name, safeit) avl_for_each_element_safe(&s_type->names, s_name, node, safeit)
+#define CFG_FOR_ALL_SECTION_NAMES(s_type, s_name, safeit)                                                              \
+  avl_for_each_element_safe(&s_type->names, s_name, node, safeit)
 
 /**
  * Iterate over all entries in a named section.
@@ -152,35 +153,32 @@ struct cfg_entry {
 
 EXPORT struct cfg_db *cfg_db_add(void);
 EXPORT void cfg_db_remove(struct cfg_db *);
-EXPORT int _cfg_db_append(struct cfg_db *dst, struct cfg_db *src,
-    const char *section_type, const char *section_name, const char *entry_name);
+EXPORT int _cfg_db_append(
+  struct cfg_db *dst, struct cfg_db *src, const char *section_type, const char *section_name, const char *entry_name);
 
 EXPORT struct cfg_named_section *_cfg_db_add_section(
-    struct cfg_db *, const char *section_type, const char *section_name,
-    bool *new_section);
+  struct cfg_db *, const char *section_type, const char *section_name, bool *new_section);
 
 EXPORT int cfg_db_remove_sectiontype(struct cfg_db *, const char *section_type);
 
 EXPORT struct cfg_named_section *cfg_db_find_namedsection(
-    const struct cfg_db *, const char *section_type, const char *section_name);
-EXPORT int cfg_db_remove_namedsection(struct cfg_db *db, const char *section_type,
-    const char *section_name);
-
-EXPORT struct cfg_entry *cfg_db_set_entry_ext(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name, const char *value,
-    bool append, bool front);
-
-EXPORT struct cfg_entry *cfg_db_find_entry(struct cfg_db *db,
-    const char *section_type, const char *section_name, const char *entry_name);
-EXPORT int cfg_db_remove_entry(struct cfg_db *, const char *section_type,
-    const char *section_name, const char *entry_name);
-EXPORT const struct const_strarray *cfg_db_get_entry_value(struct cfg_db *db,
-    const char *section_type, const char *section_name, const char *entry_name);
+  const struct cfg_db *, const char *section_type, const char *section_name);
+EXPORT int cfg_db_remove_namedsection(struct cfg_db *db, const char *section_type, const char *section_name);
+
+EXPORT struct cfg_entry *cfg_db_set_entry_ext(struct cfg_db *db, const char *section_type, const char *section_name,
+  const char *entry_name, const char *value, bool append, bool front);
+
+EXPORT struct cfg_entry *cfg_db_find_entry(
+  struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name);
+EXPORT int cfg_db_remove_entry(
+  struct cfg_db *, const char *section_type, const char *section_name, const char *entry_name);
+EXPORT const struct const_strarray *cfg_db_get_entry_value(
+  struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name);
 EXPORT const struct const_strarray *cfg_db_get_schema_entry_value(
-    const struct cfg_named_section *section, const struct cfg_schema_entry *entry);
+  const struct cfg_named_section *section, const struct cfg_schema_entry *entry);
 
-EXPORT int cfg_db_remove_element(struct cfg_db *, const char *section_type,
-    const char *section_name, const char *entry_name, const char *value);
+EXPORT int cfg_db_remove_element(
+  struct cfg_db *, const char *section_type, const char *section_name, const char *entry_name, const char *value);
 
 /**
  * Link a configuration schema to a database
@@ -238,8 +236,7 @@ cfg_db_copy(struct cfg_db *dst, struct cfg_db *src) {
  *   copy.
  */
 static INLINE int
-cfg_db_copy_sectiontype(struct cfg_db *dst, struct cfg_db *src,
-    const char *section_type) {
+cfg_db_copy_sectiontype(struct cfg_db *dst, struct cfg_db *src, const char *section_type) {
   return _cfg_db_append(dst, src, section_type, NULL, NULL);
 }
 
@@ -256,8 +253,7 @@ cfg_db_copy_sectiontype(struct cfg_db *dst, struct cfg_db *src,
  *   copy.
  */
 static INLINE int
-cfg_db_copy_namedsection(struct cfg_db *dst, struct cfg_db *src,
-    const char *section_type, const char *section_name) {
+cfg_db_copy_namedsection(struct cfg_db *dst, struct cfg_db *src, const char *section_type, const char *section_name) {
   return _cfg_db_append(dst, src, section_type, section_name, NULL);
 }
 
@@ -274,8 +270,8 @@ cfg_db_copy_namedsection(struct cfg_db *dst, struct cfg_db *src,
  *   copy.
  */
 static INLINE int
-cfg_db_copy_entry(struct cfg_db *dst, struct cfg_db *src,
-    const char *section_type, const char *section_name, const char *entry_name) {
+cfg_db_copy_entry(
+  struct cfg_db *dst, struct cfg_db *src, const char *section_type, const char *section_name, const char *entry_name) {
   return _cfg_db_append(dst, src, section_type, section_name, entry_name);
 }
 
@@ -365,8 +361,7 @@ cfg_db_get_unnamed_section(const struct cfg_section_type *stype) {
  * @return pointer to named section, NULL if an error happened
  */
 static INLINE struct cfg_named_section *
-cfg_db_add_namedsection(struct cfg_db *db,
-    const char *section_type, const char *section_name) {
+cfg_db_add_namedsection(struct cfg_db *db, const char *section_type, const char *section_name) {
   bool dummy;
   return _cfg_db_add_section(db, section_type, section_name, &dummy);
 }
@@ -395,11 +390,9 @@ cfg_db_add_unnamedsection(struct cfg_db *db, const char *section_type) {
  * @return pointer to cfg_entry, NULL if an error happened
  */
 static INLINE struct cfg_entry *
-cfg_db_set_entry(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name, const char *value,
-    bool append) {
-  return cfg_db_set_entry_ext(db, section_type, section_name, entry_name,
-      value, append, true);
+cfg_db_set_entry(struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name,
+  const char *value, bool append) {
+  return cfg_db_set_entry_ext(db, section_type, section_name, entry_name, value, append, true);
 }
 
 /**
@@ -411,8 +404,8 @@ cfg_db_set_entry(struct cfg_db *db, const char *section_type,
  * @param value entry value
  */
 static INLINE struct cfg_entry *
-cfg_db_overwrite_entry(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name, const char *value) {
+cfg_db_overwrite_entry(
+  struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name, const char *value) {
   return cfg_db_set_entry(db, section_type, section_name, entry_name, value, false);
 }
 
@@ -425,8 +418,8 @@ cfg_db_overwrite_entry(struct cfg_db *db, const char *section_type,
  * @param value entry value
  */
 static INLINE struct cfg_entry *
-cfg_db_add_entry(struct cfg_db *db, const char *section_type,
-    const char *section_name, const char *entry_name, const char *value) {
+cfg_db_add_entry(
+  struct cfg_db *db, const char *section_type, const char *section_name, const char *entry_name, const char *value) {
   return cfg_db_set_entry(db, section_type, section_name, entry_name, value, true);
 }
 
@@ -439,7 +432,6 @@ cfg_db_is_multipart_entry(struct cfg_entry *entry) {
   return strarray_get(&entry->val, 1) != NULL;
 }
 
-
 /**
  * Counts the number of list items of a configuration entry
  * @param entry pointer to cfg entry
index 5773f90..71543ff 100644 (file)
@@ -45,9 +45,9 @@
 
 #include <stdio.h>
 
-#include "common/common_types.h"
 #include "common/autobuf.h"
 #include "common/bitmap256.h"
+#include "common/common_types.h"
 #include "common/isonumber.h"
 #include "common/netaddr.h"
 #include "common/netaddr_acl.h"
@@ -64,8 +64,10 @@ static const char *_get_enumerator(char *buffer, size_t length, size_t idx);
  */
 void
 cfg_help_strlen(struct autobuf *out, size_t len) {
-  cfg_append_printable_line(out, CFG_HELP_INDENT_PREFIX "Parameter must have a maximum"
-      " length of %"PRINTF_SIZE_T_SPECIFIER" characters", len);
+  cfg_append_printable_line(out,
+    CFG_HELP_INDENT_PREFIX "Parameter must have a maximum"
+                           " length of %" PRINTF_SIZE_T_SPECIFIER " characters",
+    len);
 }
 
 /**
@@ -87,9 +89,8 @@ cfg_help_printable(struct autobuf *out, size_t len) {
  * @param choice_count number of choices
  */
 void
-cfg_help_choice(struct autobuf *out, bool preamble,
-    const char *(*callback)(size_t idx, const void *ptr),
-    size_t choice_count, const void *ptr) {
+cfg_help_choice(struct autobuf *out, bool preamble, const char *(*callback)(size_t idx, const void *ptr),
+  size_t choice_count, const void *ptr) {
   size_t i;
 
   if (preamble) {
@@ -97,9 +98,8 @@ cfg_help_choice(struct autobuf *out, bool preamble,
   }
 
   abuf_puts(out, "    ");
-  for (i=0; i < choice_count; i++) {
-    abuf_appendf(out, "%s'%s'",
-        i==0 ? "" : ", ", callback(i, ptr));
+  for (i = 0; i < choice_count; i++) {
+    abuf_appendf(out, "%s'%s'", i == 0 ? "" : ", ", callback(i, ptr));
   }
   abuf_puts(out, "\n");
 }
@@ -113,8 +113,7 @@ cfg_help_choice(struct autobuf *out, bool preamble,
  * @param fraction number of fractional digits
  */
 void
-cfg_help_int(struct autobuf *out,
-    int64_t min, int64_t max, uint16_t bytelen, uint16_t fraction) {
+cfg_help_int(struct autobuf *out, int64_t min, int64_t max, uint16_t bytelen, uint16_t fraction) {
   struct isonumber_str hbuf1, hbuf2;
   int64_t min64, max64;
 
@@ -127,26 +126,30 @@ cfg_help_int(struct autobuf *out,
 
   if (min > min64) {
     if (max < max64) {
-      cfg_append_printable_line(out, CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte fractional integer"
-          " between %s and %s with a maximum of %d fractional digits",
-          bytelen, hbuf1.buf, hbuf2.buf, fraction);
+      cfg_append_printable_line(out,
+        CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte fractional integer"
+                               " between %s and %s with a maximum of %d fractional digits",
+        bytelen, hbuf1.buf, hbuf2.buf, fraction);
     }
     else {
-      cfg_append_printable_line(out, CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte fractional integer"
-          " larger or equal than %s with a maximum of %d fractional digits",
-          bytelen, hbuf1.buf, fraction);
+      cfg_append_printable_line(out,
+        CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte fractional integer"
+                               " larger or equal than %s with a maximum of %d fractional digits",
+        bytelen, hbuf1.buf, fraction);
     }
   }
   else {
     if (max < max64) {
-      cfg_append_printable_line(out, CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte fractional integer"
-          " smaller or equal than %s with a maximum of %d fractional digits",
-          bytelen, hbuf2.buf, fraction);
+      cfg_append_printable_line(out,
+        CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte fractional integer"
+                               " smaller or equal than %s with a maximum of %d fractional digits",
+        bytelen, hbuf2.buf, fraction);
     }
     else {
-      cfg_append_printable_line(out, CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte signed integer"
-          " with a maximum of %d fractional digits",
-          bytelen, fraction);
+      cfg_append_printable_line(out,
+        CFG_HELP_INDENT_PREFIX "Parameter must be a %d-byte signed integer"
+                               " with a maximum of %d fractional digits",
+        bytelen, fraction);
     }
   }
 }
@@ -160,8 +163,7 @@ cfg_help_int(struct autobuf *out,
  * @param af_types_count number of address family types
  */
 void
-cfg_help_netaddr(struct autobuf *out, bool preamble,
-    bool prefix, const int8_t *af_types, size_t af_types_count) {
+cfg_help_netaddr(struct autobuf *out, bool preamble, bool prefix, const int8_t *af_types, size_t af_types_count) {
   int8_t type;
   bool first;
   size_t i;
@@ -171,7 +173,7 @@ cfg_help_netaddr(struct autobuf *out, bool preamble,
   }
 
   first = true;
-  for (i=0; i<af_types_count; i++) {
+  for (i = 0; i < af_types_count; i++) {
     type = af_types[i];
 
     if (type == -1) {
@@ -219,24 +221,24 @@ cfg_help_netaddr(struct autobuf *out, bool preamble,
  * @param af_types_count number of address family types
  */
 void
-cfg_help_acl(struct autobuf *out, bool preamble,
-    bool prefix, const int8_t *af_types, size_t af_types_count) {
+cfg_help_acl(struct autobuf *out, bool preamble, bool prefix, const int8_t *af_types, size_t af_types_count) {
   if (preamble) {
-    abuf_puts(out, CFG_HELP_INDENT_PREFIX "Parameter is an apache2 style access control list made from a list of network addresses of the following types:\n");
+    abuf_puts(out, CFG_HELP_INDENT_PREFIX "Parameter is an apache2 style access control list made from a list of "
+                                          "network addresses of the following types:\n");
   }
 
   cfg_help_netaddr(out, false, prefix, af_types, af_types_count);
 
-  abuf_puts(out,
-      CFG_HELP_INDENT_PREFIX "    Each of the addresses/prefixes can start with a"
-              " '+' to add them to the whitelist and '-' to add it to the blacklist"
-              " (default is the whitelist).\n"
-      CFG_HELP_INDENT_PREFIX "    In addition to this there are four keywords to configure the ACL:\n"
-      CFG_HELP_INDENT_PREFIX "    - '" ACL_FIRST_ACCEPT "' to parse the whitelist first\n"
-      CFG_HELP_INDENT_PREFIX "    - '" ACL_FIRST_REJECT "' to parse the blacklist first\n"
-      CFG_HELP_INDENT_PREFIX "    - '" ACL_DEFAULT_ACCEPT "' to accept input if it doesn't match either list\n"
-      CFG_HELP_INDENT_PREFIX "    - '" ACL_DEFAULT_REJECT "' to not accept it if it doesn't match either list\n"
-      CFG_HELP_INDENT_PREFIX "    (default mode is '" ACL_FIRST_ACCEPT "' and '" ACL_DEFAULT_REJECT "')\n");
+  abuf_puts(out, CFG_HELP_INDENT_PREFIX
+    "    Each of the addresses/prefixes can start with a"
+    " '+' to add them to the whitelist and '-' to add it to the blacklist"
+    " (default is the whitelist).\n" CFG_HELP_INDENT_PREFIX
+    "    In addition to this there are four keywords to configure the ACL:\n" CFG_HELP_INDENT_PREFIX
+    "    - '" ACL_FIRST_ACCEPT "' to parse the whitelist first\n" CFG_HELP_INDENT_PREFIX "    - '" ACL_FIRST_REJECT
+    "' to parse the blacklist first\n" CFG_HELP_INDENT_PREFIX "    - '" ACL_DEFAULT_ACCEPT
+    "' to accept input if it doesn't match either list\n" CFG_HELP_INDENT_PREFIX "    - '" ACL_DEFAULT_REJECT
+    "' to not accept it if it doesn't match either list\n" CFG_HELP_INDENT_PREFIX
+    "    (default mode is '" ACL_FIRST_ACCEPT "' and '" ACL_DEFAULT_REJECT "')\n");
 }
 
 /**
@@ -250,10 +252,11 @@ cfg_help_bitmap256(struct autobuf *out, bool preamble) {
     abuf_puts(out, CFG_HELP_INDENT_PREFIX "Parameter is a list of bit-numbers to define a bit-array.");
   }
 
-  abuf_puts(out, CFG_HELP_INDENT_PREFIX "    Each of the bit-numbers must be between 0 and 255\n"
-      CFG_HELP_INDENT_PREFIX "    In addition to this there are two keywords to configure the bit-array:\n"
-      CFG_HELP_INDENT_PREFIX "    - '" BITMAP256_ALL "' to set all bits in the bit-array\n"
-      CFG_HELP_INDENT_PREFIX "    - '" BITMAP256_NONE "' to reset all bits in the bit-array\n");
+  abuf_puts(out, CFG_HELP_INDENT_PREFIX
+    "    Each of the bit-numbers must be between 0 and 255\n" CFG_HELP_INDENT_PREFIX
+    "    In addition to this there are two keywords to configure the bit-array:\n" CFG_HELP_INDENT_PREFIX
+    "    - '" BITMAP256_ALL "' to set all bits in the bit-array\n" CFG_HELP_INDENT_PREFIX "    - '" BITMAP256_NONE
+    "' to reset all bits in the bit-array\n");
 }
 
 /**
@@ -267,40 +270,33 @@ cfg_help_bitmap256(struct autobuf *out, bool preamble) {
  *    binary conversion or help text, NULL, if none
  */
 void
-cfg_help_token(struct autobuf *out, bool preamble,
-    const struct cfg_schema_entry *token_entry,
-    const struct cfg_schema_entry *sub_entries, size_t entry_count,
-    const struct cfg_schema_token_customizer *customizer) {
+cfg_help_token(struct autobuf *out, bool preamble, const struct cfg_schema_entry *token_entry,
+  const struct cfg_schema_entry *sub_entries, size_t entry_count,
+  const struct cfg_schema_token_customizer *customizer) {
   char enum_buffer[10];
   size_t i;
 
   if (preamble) {
-    abuf_appendf(out, CFG_HELP_INDENT_PREFIX
-        "Parameter is a list of"
-        " %"PRINTF_SIZE_T_SPECIFIER" whitespace separater tokens (",
-        entry_count);
-    for (i=0; i<entry_count; i++) {
-      abuf_appendf(out, "%s%s", i==0 ? "" : ", ", sub_entries[i].key.entry);
+    abuf_appendf(out,
+      CFG_HELP_INDENT_PREFIX "Parameter is a list of"
+                             " %" PRINTF_SIZE_T_SPECIFIER " whitespace separater tokens (",
+      entry_count);
+    for (i = 0; i < entry_count; i++) {
+      abuf_appendf(out, "%s%s", i == 0 ? "" : ", ", sub_entries[i].key.entry);
     }
-    abuf_puts(out, ").\n"
-        CFG_HELP_INDENT_PREFIX
-        "The last token gets the rest of the string, regardless of"
-        " the number of whitespaces used.\n\n");
+    abuf_puts(out, ").\n" CFG_HELP_INDENT_PREFIX "The last token gets the rest of the string, regardless of"
+                   " the number of whitespaces used.\n\n");
   }
   if (customizer && customizer->cb_valhelp) {
     customizer->cb_valhelp(token_entry, out);
   }
 
-  for (i=0; i<entry_count; i++) {
-    abuf_appendf(out, CFG_HELP_INDENT_PREFIX
-        "Description of the %s token '%s':\n",
-        _get_enumerator(enum_buffer, sizeof(enum_buffer), i),
-        sub_entries[i].key.entry);
+  for (i = 0; i < entry_count; i++) {
+    abuf_appendf(out, CFG_HELP_INDENT_PREFIX "Description of the %s token '%s':\n",
+      _get_enumerator(enum_buffer, sizeof(enum_buffer), i), sub_entries[i].key.entry);
 
     if (sub_entries[i].help) {
-      abuf_appendf(out,
-          CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s\n",
-          sub_entries[i].help);
+      abuf_appendf(out, CFG_HELP_INDENT_PREFIX CFG_HELP_INDENT_PREFIX "%s\n", sub_entries[i].help);
     }
     if (sub_entries[i].cb_valhelp) {
       sub_entries[i].cb_valhelp(&sub_entries[i], out);
@@ -318,16 +314,14 @@ cfg_help_token(struct autobuf *out, bool preamble,
  */
 static const char *
 _get_enumerator(char *buffer, size_t length, size_t idx) {
-  static const char *_ENUMERATIONS[] = {
-    "first", "second", "third", "fourth", "fifth",
-    "sixth", "seventh", "eight", "ninth", "tenth"
-  };
+  static const char *_ENUMERATIONS[] = { "first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eight",
+    "ninth", "tenth" };
 
   if (idx < ARRAYSIZE(_ENUMERATIONS)) {
     strscpy(buffer, _ENUMERATIONS[idx], length);
   }
   else {
-    snprintf(buffer, length, "%"PRINTF_SIZE_T_SPECIFIER".", idx+1);
+    snprintf(buffer, length, "%" PRINTF_SIZE_T_SPECIFIER ".", idx + 1);
   }
   return buffer;
 }
index 01f424b..c399ad2 100644 (file)
 
 EXPORT void cfg_help_printable(struct autobuf *out, size_t len);
 EXPORT void cfg_help_strlen(struct autobuf *out, size_t len);
-EXPORT void cfg_help_choice(struct autobuf *out, bool preamble,
-    const char *(*callback)(size_t idx, const void *ptr),
-    size_t choice_count, const void *ptr);
-EXPORT void cfg_help_int(struct autobuf *out,
-    int64_t min, int64_t max, uint16_t bytelen, uint16_t fraction);
-EXPORT void cfg_help_netaddr(struct autobuf *out, bool preamble,
-    bool prefix, const int8_t *af_types, size_t af_types_count);
-EXPORT void cfg_help_acl(struct autobuf *out, bool preamble,
-    bool prefix, const int8_t *af_types, size_t af_types_count);
+EXPORT void cfg_help_choice(struct autobuf *out, bool preamble, const char *(*callback)(size_t idx, const void *ptr),
+  size_t choice_count, const void *ptr);
+EXPORT void cfg_help_int(struct autobuf *out, int64_t min, int64_t max, uint16_t bytelen, uint16_t fraction);
+EXPORT void cfg_help_netaddr(
+  struct autobuf *out, bool preamble, bool prefix, const int8_t *af_types, size_t af_types_count);
+EXPORT void cfg_help_acl(
+  struct autobuf *out, bool preamble, bool prefix, const int8_t *af_types, size_t af_types_count);
 EXPORT void cfg_help_bitmap256(struct autobuf *out, bool preamble);
-EXPORT void cfg_help_token(struct autobuf *out, bool preamble,
-    const struct cfg_schema_entry *token_entry,
-    const struct cfg_schema_entry *sub_entries, size_t entry_count,
-    const struct cfg_schema_token_customizer *customizer);
+EXPORT void cfg_help_token(struct autobuf *out, bool preamble, const struct cfg_schema_entry *token_entry,
+  const struct cfg_schema_entry *sub_entries, size_t entry_count, const struct cfg_schema_token_customizer *customizer);
 
 #endif /* CFG_HELP_H_ */
index f458bec..e436cd3 100644 (file)
@@ -60,8 +60,8 @@
 #include "config/cfg.h"
 #include "config/cfg_io.h"
 
-static struct cfg_io *_find_io(struct cfg_instance *instance,
-    const char *url, const char **io_param, struct autobuf *log);
+static struct cfg_io *_find_io(
+  struct cfg_instance *instance, const char *url, const char **io_param, struct autobuf *log);
 
 /**
  * Add a new io-handler to the registry. Name of io handler
@@ -71,7 +71,7 @@ static struct cfg_io *_find_io(struct cfg_instance *instance,
  */
 void
 cfg_io_add(struct cfg_instance *instance, struct cfg_io *io) {
-  assert (io->name);
+  assert(io->name);
   io->node.key = io->name;
   avl_insert(&instance->io_tree, &io->node);
 }
@@ -100,8 +100,7 @@ cfg_io_remove(struct cfg_instance *instance, struct cfg_io *io) {
  * @return pointer to configuration database, NULL if an error happened
  */
 struct cfg_db *
-cfg_io_load(struct cfg_instance *instance,
-    const char *url, struct autobuf *log) {
+cfg_io_load(struct cfg_instance *instance, const char *url, struct autobuf *log) {
   struct cfg_io *io;
   const char *io_param = NULL;
 
@@ -130,8 +129,7 @@ cfg_io_load(struct cfg_instance *instance,
  * @return 0 if data was stored, -1 if an error happened
  */
 int
-cfg_io_save(struct cfg_instance *instance,
-    const char *url, struct cfg_db *src, struct autobuf *log) {
+cfg_io_save(struct cfg_instance *instance, const char *url, struct cfg_db *src, struct autobuf *log) {
   struct cfg_io *io;
   const char *io_param = NULL;
 
@@ -160,8 +158,7 @@ cfg_io_save(struct cfg_instance *instance,
  *   happened
  */
 static struct cfg_io *
-_find_io(struct cfg_instance *instance,
-    const char *url, const char **io_param, struct autobuf *log) {
+_find_io(struct cfg_instance *instance, const char *url, const char **io_param, struct autobuf *log) {
   struct cfg_io *io = NULL;
   const char *ptr1;
 
index f934312..11f9e51 100644 (file)
@@ -99,9 +99,7 @@ struct cfg_io {
 EXPORT void cfg_io_add(struct cfg_instance *, struct cfg_io *);
 EXPORT void cfg_io_remove(struct cfg_instance *, struct cfg_io *);
 
-EXPORT struct cfg_db *cfg_io_load(struct cfg_instance *instance,
-    const char *url, struct autobuf *log);
-EXPORT int cfg_io_save(struct cfg_instance *instance,
-    const char *url, struct cfg_db *src, struct autobuf *log);
+EXPORT struct cfg_db *cfg_io_load(struct cfg_instance *instance, const char *url, struct autobuf *log);
+EXPORT int cfg_io_save(struct cfg_instance *instance, const char *url, struct cfg_db *src, struct autobuf *log);
 
 #endif /* CFG_IO_H_ */
index 6af4e6b..a9c2ec1 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
-#include "common/common_types.h"
 #include "common/avl.h"
 #include "common/avl_comp.h"
 #include "common/bitmap256.h"
+#include "common/common_types.h"
 #include "common/isonumber.h"
 #include "common/netaddr.h"
 #include "common/netaddr_acl.h"
 #include "config/cfg.h"
 #include "config/cfg_db.h"
 #include "config/cfg_help.h"
+#include "config/cfg_schema.h"
 #include "config/cfg_tobin.h"
 #include "config/cfg_validate.h"
-#include "config/cfg_schema.h"
 
-static bool _validate_cfg_entry(
-    struct cfg_db *db, struct cfg_section_type *section,
-    struct cfg_named_section *named, struct cfg_entry *entry,
-    const char *section_name, bool cleanup, struct autobuf *out);
+static bool _validate_cfg_entry(struct cfg_db *db, struct cfg_section_type *section, struct cfg_named_section *named,
+  struct cfg_entry *entry, const char *section_name, bool cleanup, struct autobuf *out);
 static bool _section_needs_default_named_one(struct cfg_section_type *type);
-static void _handle_named_section_change (struct cfg_schema_section* s_section, 
-    struct cfg_db* pre_change, struct cfg_db* post_change, const char* section_name, 
-    bool startup, struct cfg_named_section* pre_defnamed, 
-    struct cfg_named_section* post_defnamed);
-static int _handle_db_changes(struct cfg_db *pre_change,
-    struct cfg_db *post_change, bool startup);
+static void _handle_named_section_change(struct cfg_schema_section *s_section, struct cfg_db *pre_change,
+  struct cfg_db *post_change, const char *section_name, bool startup, struct cfg_named_section *pre_defnamed,
+  struct cfg_named_section *post_defnamed);
+static int _handle_db_changes(struct cfg_db *pre_change, struct cfg_db *post_change, bool startup);
 
 /*! string array with boolean options with value true */
 const char *CFGLIST_BOOL_TRUE[] = { CFGLIST_BOOL_TRUE_VALUES };
@@ -108,15 +104,13 @@ cfg_schema_add(struct cfg_schema *schema) {
  * @param section pointer to section
  */
 void
-cfg_schema_add_section(struct cfg_schema *schema,
-    struct cfg_schema_section *section) {
+cfg_schema_add_section(struct cfg_schema *schema, struct cfg_schema_section *section) {
   struct cfg_schema_entry *entry;
   size_t i;
 
   /* make sure definitions in compiled code are correct */
-  assert (cfg_is_allowed_key(section->type));
-  assert (section->def_name == NULL
-      || cfg_is_allowed_section_name(section->def_name));
+  assert(cfg_is_allowed_key(section->type));
+  assert(section->def_name == NULL || cfg_is_allowed_section_name(section->def_name));
 
   /* hook section into global section tree */
   section->_section_node.key = section->type;
@@ -127,11 +121,11 @@ cfg_schema_add_section(struct cfg_schema *schema,
     list_add_tail(&schema->handlers, &section->_delta_node);
   }
 
-  for (i=0; i<section->entry_count; i++) {
+  for (i = 0; i < section->entry_count; i++) {
     entry = &section->entries[i];
 
     /* make sure key name in compiled code is correct */
-    assert (cfg_is_allowed_key(entry->key.entry));
+    assert(cfg_is_allowed_key(entry->key.entry));
 
     entry->_parent = section;
     entry->key.type = section->type;
@@ -176,7 +170,7 @@ cfg_schema_remove_section(struct cfg_schema *schema, struct cfg_schema_section *
     avl_remove(&schema->sections, &section->_section_node);
     section->_section_node.key = NULL;
 
-    for (i=0; i<section->entry_count; i++) {
+    for (i = 0; i < section->entry_count; i++) {
       avl_remove(&schema->entries, &section->entries[i]._node);
       section->entries[i]._node.key = NULL;
     }
@@ -196,9 +190,7 @@ cfg_schema_remove_section(struct cfg_schema *schema, struct cfg_schema_section *
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate(struct cfg_db *db,
-    bool cleanup, bool ignore_unknown_sections,
-    struct autobuf *out) {
+cfg_schema_validate(struct cfg_db *db, bool cleanup, bool ignore_unknown_sections, struct autobuf *out) {
   char section_name[256];
   struct cfg_section_type *section, *section_it;
   struct cfg_named_section *named, *named_it;
@@ -219,16 +211,14 @@ cfg_schema_validate(struct cfg_db *db,
 
   CFG_FOR_ALL_SECTION_TYPES(db, section, section_it) {
     /* check for missing schema sections */
-    schema_section_first = avl_find_element(&db->schema->sections, section->type,
-        schema_section_first, _section_node);
+    schema_section_first = avl_find_element(&db->schema->sections, section->type, schema_section_first, _section_node);
 
     if (schema_section_first == NULL) {
       if (ignore_unknown_sections) {
         continue;
       }
 
-      cfg_append_printable_line(out,
-          "Cannot find schema for section type '%s'", section->type);
+      cfg_append_printable_line(out, "Cannot find schema for section type '%s'", section->type);
 
       if (cleanup) {
         cfg_db_remove_sectiontype(db, section->type);
@@ -238,8 +228,7 @@ cfg_schema_validate(struct cfg_db *db,
       continue;
     }
 
-    schema_section_last = avl_find_le_element(&db->schema->sections, section->type,
-        schema_section_last, _section_node);
+    schema_section_last = avl_find_le_element(&db->schema->sections, section->type, schema_section_last, _section_node);
 
     /* iterate over all schema for a certain section type */
     avl_for_element_range(schema_section_first, schema_section_last, schema_section, _section_node) {
@@ -250,18 +239,21 @@ cfg_schema_validate(struct cfg_db *db,
 
         if (hasName) {
           if (schema_section->mode == CFG_SSMODE_UNNAMED) {
-            cfg_append_printable_line(out, "The section type '%s'"
-                " has to be used without a name"
-                " ('%s' was given as a name)", section->type, named->name);
+            cfg_append_printable_line(out,
+              "The section type '%s'"
+              " has to be used without a name"
+              " ('%s' was given as a name)",
+              section->type, named->name);
 
             warning = true;
           }
         }
 
         if (hasName && !cfg_is_allowed_section_name(named->name)) {
-          cfg_append_printable_line(out, "The section name '%s' for"
-              " type '%s' contains illegal characters",
-              named->name, section->type);
+          cfg_append_printable_line(out,
+            "The section name '%s' for"
+            " type '%s' contains illegal characters",
+            named->name, section->type);
           warning = true;
         }
 
@@ -278,14 +270,12 @@ cfg_schema_validate(struct cfg_db *db,
         }
 
         /* initialize section_name field for validate */
-        snprintf(section_name, sizeof(section_name), "'%s%s%s'",
-            section->type, hasName ? "=" : "", hasName ? named->name : "");
+        snprintf(section_name, sizeof(section_name), "'%s%s%s'", section->type, hasName ? "=" : "",
+          hasName ? named->name : "");
 
         /* check for bad values */
         CFG_FOR_ALL_ENTRIES(named, entry, entry_it) {
-          warning = _validate_cfg_entry(
-              db, section, named, entry, section_name,
-              cleanup, out);
+          warning = _validate_cfg_entry(db, section, named, entry, section_name, cleanup, out);
           error |= warning;
         }
 
@@ -315,14 +305,13 @@ cfg_schema_validate(struct cfg_db *db,
         warning = !cfg_db_is_named_section(named) && section->names.count < 2;
       }
       if (warning) {
-        cfg_append_printable_line(out, "Missing mandatory section of type '%s'",
-            schema_section->type);
+        cfg_append_printable_line(out, "Missing mandatory section of type '%s'", schema_section->type);
       }
       error |= warning;
     }
 
     /* check for missing values */
-    for (i=0; i<schema_section->entry_count; i++) {
+    for (i = 0; i < schema_section->entry_count; i++) {
       schema_entry = &schema_section->entries[i];
       if (strarray_is_empty_c(&schema_entry->def)) {
         /* found a mandatory schema entry */
@@ -338,8 +327,7 @@ cfg_schema_validate(struct cfg_db *db,
               warning = false;
 
               avl_for_each_element(&section->names, named, node) {
-                if (named->name != NULL
-                    && cfg_db_get_entry(named, schema_entry->key.entry) == NULL) {
+                if (named->name != NULL && cfg_db_get_entry(named, schema_entry->key.entry) == NULL) {
                   /* found a named section without mandatory entry */
                   warning = true;
                   break;
@@ -353,8 +341,8 @@ cfg_schema_validate(struct cfg_db *db,
           }
         }
         if (warning) {
-          cfg_append_printable_line(out, "Missing mandatory entry of type '%s' and key '%s'",
-              schema_section->type, schema_entry->key.entry);
+          cfg_append_printable_line(
+            out, "Missing mandatory entry of type '%s' and key '%s'", schema_section->type, schema_entry->key.entry);
         }
         error |= warning;
       }
@@ -377,15 +365,14 @@ cfg_schema_validate(struct cfg_db *db,
  *   An error might result in a partial initialized target buffer.
  */
 int
-cfg_schema_tobin(void *target, struct cfg_named_section *named,
-    const struct cfg_schema_entry *entries, size_t count) {
+cfg_schema_tobin(void *target, struct cfg_named_section *named, const struct cfg_schema_entry *entries, size_t count) {
   char *ptr;
   size_t i;
   const struct const_strarray *value;
 
   ptr = (char *)target;
 
-  for (i=0; i<count; i++) {
+  for (i = 0; i < count; i++) {
     if (entries[i].cb_to_binary == NULL) {
       continue;
     }
@@ -393,7 +380,7 @@ cfg_schema_tobin(void *target, struct cfg_named_section *named,
     value = cfg_db_get_schema_entry_value(named, &entries[i]);
     if (entries[i].cb_to_binary(&entries[i], value, ptr + entries[i].bin_offset)) {
       /* error in conversion */
-      return -1-i;
+      return -1 - i;
     }
   }
   return 0;
@@ -467,7 +454,7 @@ cfg_avlcmp_schemaentries(const void *p1, const void *p2) {
  */
 const char *
 cfg_schema_get_choice_value(size_t idx, const void *ptr) {
-  const charconst *array = ptr;
+  const char *const *array = ptr;
 
   return array[idx];
 }
@@ -482,10 +469,9 @@ cfg_schema_get_choice_value(size_t idx, const void *ptr) {
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_strlen(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
-  return cfg_validate_strlen(
-      out, section_name, entry->key.entry, value, entry->validate_param[0].s);
+cfg_schema_validate_strlen(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
+  return cfg_validate_strlen(out, section_name, entry->key.entry, value, entry->validate_param[0].s);
 }
 
 /**
@@ -499,10 +485,9 @@ cfg_schema_validate_strlen(const struct cfg_schema_entry *entry,
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_printable(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
-  return cfg_validate_printable(
-      out, section_name, entry->key.entry, value, entry->validate_param[0].s);
+cfg_schema_validate_printable(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
+  return cfg_validate_printable(out, section_name, entry->key.entry, value, entry->validate_param[0].s);
 }
 
 /**
@@ -516,15 +501,12 @@ cfg_schema_validate_printable(const struct cfg_schema_entry *entry,
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_choice(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
-  return cfg_validate_choice(out, section_name, entry->key.entry, value,
-      entry->validate_param[0].ptr, entry->validate_param[1].s,
-      entry->validate_param[2].ptr);
+cfg_schema_validate_choice(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
+  return cfg_validate_choice(out, section_name, entry->key.entry, value, entry->validate_param[0].ptr,
+    entry->validate_param[1].s, entry->validate_param[2].ptr);
 }
 
-
-
 /**
  * Schema entry validator for integers.
  * See CFG_VALIDATE_INT*() and CFG_VALIDATE_FRACTIONAL*() macros in cfg_schema.h
@@ -535,12 +517,10 @@ cfg_schema_validate_choice(const struct cfg_schema_entry *entry,
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_int(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
-  return cfg_validate_int(out, section_name, entry->key.entry, value,
-      entry->validate_param[0].i64, entry->validate_param[1].i64,
-      entry->validate_param[2].i16[0],
-      entry->validate_param[2].i16[1]);
+cfg_schema_validate_int(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
+  return cfg_validate_int(out, section_name, entry->key.entry, value, entry->validate_param[0].i64,
+    entry->validate_param[1].i64, entry->validate_param[2].i16[0], entry->validate_param[2].i16[1]);
 }
 
 /**
@@ -553,10 +533,10 @@ cfg_schema_validate_int(const struct cfg_schema_entry *entry,
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_netaddr(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
-  return cfg_validate_netaddr(out, section_name, entry->key.entry, value,
-      entry->validate_param[1].b, entry->validate_param[0].i8, 5);
+cfg_schema_validate_netaddr(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
+  return cfg_validate_netaddr(
+    out, section_name, entry->key.entry, value, entry->validate_param[1].b, entry->validate_param[0].i8, 5);
 }
 
 /**
@@ -569,10 +549,10 @@ cfg_schema_validate_netaddr(const struct cfg_schema_entry *entry,
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_acl(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
-  return cfg_validate_acl(out, section_name, entry->key.entry, value,
-      entry->validate_param[1].b, entry->validate_param[0].i8, 5);
+cfg_schema_validate_acl(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
+  return cfg_validate_acl(
+    out, section_name, entry->key.entry, value, entry->validate_param[1].b, entry->validate_param[0].i8, 5);
 }
 
 /**
@@ -585,8 +565,8 @@ cfg_schema_validate_acl(const struct cfg_schema_entry *entry,
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_bitmap256(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
+cfg_schema_validate_bitmap256(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
   return cfg_validate_bitmap256(out, section_name, entry->key.entry, value);
 }
 
@@ -600,11 +580,10 @@ cfg_schema_validate_bitmap256(const struct cfg_schema_entry *entry,
  * @return 0 if validation found no problems, -1 otherwise
  */
 int
-cfg_schema_validate_tokens(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out) {
-  return cfg_validate_tokens(out, section_name, entry->key.entry, value,
-      entry->validate_param[0].ptr, entry->validate_param[1].s,
-      entry->validate_param[2].ptr);
+cfg_schema_validate_tokens(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out) {
+  return cfg_validate_tokens(out, section_name, entry->key.entry, value, entry->validate_param[0].ptr,
+    entry->validate_param[1].s, entry->validate_param[2].ptr);
 }
 /**
  * Help generator for string maximum length validator.
@@ -613,8 +592,7 @@ cfg_schema_validate_tokens(const struct cfg_schema_entry *entry,
  * @param out pointer to autobuffer for help output
  */
 void
-cfg_schema_help_strlen(
-    const struct cfg_schema_entry *entry, struct autobuf *out) {
+cfg_schema_help_strlen(const struct cfg_schema_entry *entry, struct autobuf *out) {
   cfg_help_strlen(out, entry->validate_param[0].s);
 }
 
@@ -626,8 +604,7 @@ cfg_schema_help_strlen(
  * @param out pointer to autobuffer for validator output
  */
 void
-cfg_schema_help_printable(
-    const struct cfg_schema_entry *entry, struct autobuf *out) {
+cfg_schema_help_printable(const struct cfg_schema_entry *entry, struct autobuf *out) {
   cfg_help_printable(out, entry->validate_param[0].s);
 }
 
@@ -639,10 +616,8 @@ cfg_schema_help_printable(
  * @param out pointer to autobuffer for validator output
  */
 void
-cfg_schema_help_choice(
-    const struct cfg_schema_entry *entry, struct autobuf *out) {
-  cfg_help_choice(out, true, entry->validate_param[0].ptr,
-      entry->validate_param[1].s, entry->validate_param[2].ptr);
+cfg_schema_help_choice(const struct cfg_schema_entry *entry, struct autobuf *out) {
+  cfg_help_choice(out, true, entry->validate_param[0].ptr, entry->validate_param[1].s, entry->validate_param[2].ptr);
 }
 
 /**
@@ -653,9 +628,8 @@ cfg_schema_help_choice(
  */
 void
 cfg_schema_help_int(const struct cfg_schema_entry *entry, struct autobuf *out) {
-  cfg_help_int(out, entry->validate_param[0].i64, entry->validate_param[1].i64,
-      entry->validate_param[2].i16[0],
-      entry->validate_param[2].i16[1]);
+  cfg_help_int(out, entry->validate_param[0].i64, entry->validate_param[1].i64, entry->validate_param[2].i16[0],
+    entry->validate_param[2].i16[1]);
 }
 
 /**
@@ -665,10 +639,8 @@ cfg_schema_help_int(const struct cfg_schema_entry *entry, struct autobuf *out) {
  * @param out pointer to autobuffer for validator output
  */
 void
-cfg_schema_help_netaddr(
-    const struct cfg_schema_entry *entry, struct autobuf *out) {
-  cfg_help_netaddr(out, true, entry->validate_param[1].b,
-      entry->validate_param[0].i8, 5);
+cfg_schema_help_netaddr(const struct cfg_schema_entry *entry, struct autobuf *out) {
+  cfg_help_netaddr(out, true, entry->validate_param[1].b, entry->validate_param[0].i8, 5);
 }
 
 /**
@@ -678,10 +650,8 @@ cfg_schema_help_netaddr(
  * @param out pointer to autobuffer for validator output
  */
 void
-cfg_schema_help_acl(
-    const struct cfg_schema_entry *entry, struct autobuf *out) {
-  cfg_help_acl(out, true, entry->validate_param[1].b,
-      entry->validate_param[0].i8, 5);
+cfg_schema_help_acl(const struct cfg_schema_entry *entry, struct autobuf *out) {
+  cfg_help_acl(out, true, entry->validate_param[1].b, entry->validate_param[0].i8, 5);
 }
 
 /**
@@ -691,9 +661,7 @@ cfg_schema_help_acl(
  * @param out pointer to autobuffer for validator output
  */
 void
-cfg_schema_help_bitmap256(
-    const struct cfg_schema_entry *entry __attribute__((unused)),
-    struct autobuf *out) {
+cfg_schema_help_bitmap256(const struct cfg_schema_entry *entry __attribute__((unused)), struct autobuf *out) {
   cfg_help_bitmap256(out, true);
 }
 
@@ -704,14 +672,11 @@ cfg_schema_help_bitmap256(
  * @param out pointer to autobuffer for help output
  */
 void
-cfg_schema_help_token(
-    const struct cfg_schema_entry *entry, struct autobuf *out) {
-  cfg_help_token(out, true, entry,
-      entry->validate_param[0].ptr, entry->validate_param[1].s,
-      entry->validate_param[2].ptr);
+cfg_schema_help_token(const struct cfg_schema_entry *entry, struct autobuf *out) {
+  cfg_help_token(
+    out, true, entry, entry->validate_param[0].ptr, entry->validate_param[1].s, entry->validate_param[2].ptr);
 }
 
-
 /**
  * Binary converter for string pointers. This validator will
  * allocate additional memory for the string.
@@ -723,8 +688,7 @@ cfg_schema_help_token(
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_schema_tobin_strptr(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_strptr(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   if (s_entry->list) {
     /* we don't support direct list conversion to binary */
     return -1;
@@ -741,14 +705,12 @@ cfg_schema_tobin_strptr(const struct cfg_schema_entry *s_entry,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_schema_tobin_strarray(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_strarray(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   if (s_entry->list) {
     /* we don't support direct list conversion to binary */
     return -1;
   }
-  return cfg_tobin_strarray(reference, s_entry->bin_size, value,
-      s_entry->validate_param[0].s);
+  return cfg_tobin_strarray(reference, s_entry->bin_size, value, s_entry->validate_param[0].s);
 }
 
 /**
@@ -761,15 +723,13 @@ cfg_schema_tobin_strarray(const struct cfg_schema_entry *s_entry,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_schema_tobin_choice(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_choice(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   if (s_entry->list) {
     /* we don't support direct list conversion to binary */
     return -1;
   }
-  return cfg_tobin_choice(reference, s_entry->bin_size, value,
-      s_entry->validate_param[0].ptr, s_entry->validate_param[1].s,
-      s_entry->validate_param[2].ptr);
+  return cfg_tobin_choice(reference, s_entry->bin_size, value, s_entry->validate_param[0].ptr,
+    s_entry->validate_param[1].s, s_entry->validate_param[2].ptr);
 }
 
 /**
@@ -781,14 +741,13 @@ cfg_schema_tobin_choice(const struct cfg_schema_entry *s_entry,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_schema_tobin_int(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_int(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   if (s_entry->list) {
     /* we don't support direct list conversion to binary */
     return -1;
   }
-  return cfg_tobin_int(reference, s_entry->bin_size, value,
-      s_entry->validate_param[2].u16[1], s_entry->validate_param[2].u16[0]);
+  return cfg_tobin_int(
+    reference, s_entry->bin_size, value, s_entry->validate_param[2].u16[1], s_entry->validate_param[2].u16[0]);
 }
 
 /**
@@ -798,9 +757,9 @@ cfg_schema_tobin_int(const struct cfg_schema_entry *s_entry,
  * @param value pointer to value of configuration entry.
  * @param reference pointer to binary output buffer.
  * @return 0 if conversion succeeded, -1 otherwise.
- */int
-cfg_schema_tobin_netaddr(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+ */
+int
+cfg_schema_tobin_netaddr(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   if (s_entry->list) {
     /* we don't support direct list conversion to binary */
     return -1;
@@ -817,8 +776,7 @@ cfg_schema_tobin_netaddr(const struct cfg_schema_entry *s_entry,
  * @return -1 if an error happened, 0 otherwise
  */
 int
-cfg_schema_tobin_acl(const struct cfg_schema_entry *s_entry,
-     const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_acl(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   return cfg_tobin_acl(reference, s_entry->bin_size, value);
 }
 
@@ -831,22 +789,21 @@ cfg_schema_tobin_acl(const struct cfg_schema_entry *s_entry,
  * @return -1 if an error happened, 0 otherwise
  */
 int
-cfg_schema_tobin_bitmap256(const struct cfg_schema_entry *s_entry,
-     const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_bitmap256(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   return cfg_tobin_bitmap256(reference, s_entry->bin_size, value);
 }
 
- /**
 * Binary converter for booleans.
 * See CFG_MAP_BOOL() macro in cfg_schema.h
 * @param s_entry pointer to configuration entry schema.
 * @param value pointer to value of configuration entry.
 * @param reference pointer to binary output buffer.
 * @return 0 if conversion succeeded, -1 otherwise.
 */
+/**
+ * Binary converter for booleans.
+ * See CFG_MAP_BOOL() macro in cfg_schema.h
+ * @param s_entry pointer to configuration entry schema.
+ * @param value pointer to value of configuration entry.
+ * @param reference pointer to binary output buffer.
+ * @return 0 if conversion succeeded, -1 otherwise.
+ */
 int
-cfg_schema_tobin_bool(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_bool(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   if (s_entry->list) {
     /* we don't support direct list conversion to binary */
     return -1;
@@ -863,8 +820,8 @@ cfg_schema_tobin_bool(const struct cfg_schema_entry *s_entry,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_schema_tobin_stringlist(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_stringlist(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   return cfg_tobin_stringlist(reference, s_entry->bin_size, value);
 }
 
@@ -877,16 +834,13 @@ cfg_schema_tobin_stringlist(const struct cfg_schema_entry *s_entry,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_schema_tobin_tokens(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference) {
+cfg_schema_tobin_tokens(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference) {
   if (s_entry->list) {
     /* we don't support direct list conversion to binary */
     return -1;
   }
-  return cfg_tobin_tokens(reference,
-      strarray_get_first_c(value),
-      s_entry->validate_param[0].ptr, s_entry->validate_param[1].s,
-      s_entry->validate_param[2].ptr);
+  return cfg_tobin_tokens(reference, strarray_get_first_c(value), s_entry->validate_param[0].ptr,
+    s_entry->validate_param[1].s, s_entry->validate_param[2].ptr);
 }
 
 /**
@@ -931,7 +885,7 @@ _handle_db_changes(struct cfg_db *pre_change, struct cfg_db *post_change, bool s
   struct cfg_schema_section *s_section;
   struct cfg_section_type *pre_type, *post_type;
   struct cfg_named_section *pre_named, *post_named, *named_it;
-  struct cfg_named_section * pre_defnamed, *post_defnamed;
+  struct cfg_named_section *pre_defnamed, *post_defnamed;
 
   if (pre_change->schema == NULL || pre_change->schema != post_change->schema) {
     /* no valid schema found */
@@ -989,8 +943,8 @@ _handle_db_changes(struct cfg_db *pre_change, struct cfg_db *post_change, bool s
       /* handle new named sections and changes */
       pre_named = NULL;
       CFG_FOR_ALL_SECTION_NAMES(post_type, post_named, named_it) {
-        _handle_named_section_change(s_section, pre_change, post_change,
-            post_named->name, startup, pre_defnamed, post_defnamed);
+        _handle_named_section_change(
+          s_section, pre_change, post_change, post_named->name, startup, pre_defnamed, post_defnamed);
       }
     }
     if (pre_type) {
@@ -1002,21 +956,19 @@ _handle_db_changes(struct cfg_db *pre_change, struct cfg_db *post_change, bool s
         }
 
         if (!post_named) {
-          _handle_named_section_change(s_section, pre_change, post_change,
-              pre_named->name, startup, pre_defnamed, post_defnamed);
+          _handle_named_section_change(
+            s_section, pre_change, post_change, pre_named->name, startup, pre_defnamed, post_defnamed);
         }
       }
     }
-    if (startup && s_section->mode == CFG_SSMODE_UNNAMED
-        && pre_type == NULL && post_type == NULL) {
+    if (startup && s_section->mode == CFG_SSMODE_UNNAMED && pre_type == NULL && post_type == NULL) {
       /* send change signal on startup for unnamed section */
-      _handle_named_section_change(s_section, pre_change, post_change, NULL, true,
-          pre_defnamed, post_defnamed);
+      _handle_named_section_change(s_section, pre_change, post_change, NULL, true, pre_defnamed, post_defnamed);
     }
     if ((pre_defnamed != NULL) != (post_defnamed != NULL)) {
       /* status of default named section changed */
-      _handle_named_section_change(s_section, pre_change, post_change,
-          s_section->def_name, true, pre_defnamed, post_defnamed);
+      _handle_named_section_change(
+        s_section, pre_change, post_change, s_section->def_name, true, pre_defnamed, post_defnamed);
     }
   }
   return 0;
@@ -1034,9 +986,8 @@ _handle_db_changes(struct cfg_db *pre_change, struct cfg_db *post_change, bool s
  * @return true if an error happened, false otherwise
  */
 static bool
-_validate_cfg_entry(struct cfg_db *db, struct cfg_section_type *section,
-    struct cfg_named_section *named, struct cfg_entry *entry,
-    const char *section_name, bool cleanup, struct autobuf *out) {
+_validate_cfg_entry(struct cfg_db *db, struct cfg_section_type *section, struct cfg_named_section *named,
+  struct cfg_entry *entry, const char *section_name, bool cleanup, struct autobuf *out) {
   struct cfg_schema_entry *schema_entry, *s_entry_it;
   struct cfg_schema_entry_key key;
   bool warning, do_remove;
@@ -1048,9 +999,7 @@ _validate_cfg_entry(struct cfg_db *db, struct cfg_section_type *section,
   key.type = section->type;
   key.entry = entry->name;
 
-  avl_for_each_elements_with_key(
-      &db->schema->entries, schema_entry, _node, s_entry_it, &key) {
-
+  avl_for_each_elements_with_key(&db->schema->entries, schema_entry, _node, s_entry_it, &key) {
     if (schema_entry->cb_validate == NULL) {
       continue;
     }
@@ -1059,8 +1008,7 @@ _validate_cfg_entry(struct cfg_db *db, struct cfg_section_type *section,
     ptr1 = entry->val.value;
 
     do_remove = false;
-    while (!strarray_is_empty(&entry->val)
-        && ptr1 < entry->val.value + entry->val.length) {
+    while (!strarray_is_empty(&entry->val) && ptr1 < entry->val.value + entry->val.length) {
       if (!do_remove && schema_entry->cb_validate(schema_entry, section_name, ptr1, out) != 0) {
         /* warning is generated by the validate callback itself */
         warning = true;
@@ -1098,19 +1046,16 @@ _validate_cfg_entry(struct cfg_db *db, struct cfg_section_type *section,
  * @param post_defnamed named section with default name after change
  */
 static void
-_handle_named_section_change(struct cfg_schema_section *s_section,
-    struct cfg_db *pre_change, struct cfg_db *post_change,
-    const char *section_name, bool startup,
-    struct cfg_named_section *pre_defnamed,
-    struct cfg_named_section *post_defnamed) {
+_handle_named_section_change(struct cfg_schema_section *s_section, struct cfg_db *pre_change,
+  struct cfg_db *post_change, const char *section_name, bool startup, struct cfg_named_section *pre_defnamed,
+  struct cfg_named_section *post_defnamed) {
   struct cfg_schema_entry *entry;
   bool changed;
   size_t i;
 
-  if ((s_section->mode == CFG_SSMODE_NAMED
-       || s_section->mode == CFG_SSMODE_NAMED_MANDATORY
-       || s_section->mode == CFG_SSMODE_NAMED_WITH_DEFAULT)
-      && section_name == NULL) {
+  if ((s_section->mode == CFG_SSMODE_NAMED || s_section->mode == CFG_SSMODE_NAMED_MANDATORY ||
+        s_section->mode == CFG_SSMODE_NAMED_WITH_DEFAULT) &&
+      section_name == NULL) {
     /*
      * ignore unnamed data entry for named sections, they are only
      * used for delivering defaults
@@ -1118,11 +1063,10 @@ _handle_named_section_change(struct cfg_schema_section *s_section,
     return;
   }
 
-  s_section->pre = cfg_db_find_namedsection(pre_change, s_section->type, section_name );
-  s_section->post = cfg_db_find_namedsection(post_change, s_section->type, section_name );
+  s_section->pre = cfg_db_find_namedsection(pre_change, s_section->type, section_name);
+  s_section->post = cfg_db_find_namedsection(post_change, s_section->type, section_name);
 
-  if (s_section->mode == CFG_SSMODE_NAMED_WITH_DEFAULT
-      && strcasecmp(s_section->def_name, section_name ) == 0) {
+  if (s_section->mode == CFG_SSMODE_NAMED_WITH_DEFAULT && strcasecmp(s_section->def_name, section_name) == 0) {
     /* use the default named sections if necessary */
     if (s_section->pre == NULL && !startup) {
       s_section->pre = pre_defnamed;
@@ -1134,22 +1078,19 @@ _handle_named_section_change(struct cfg_schema_section *s_section,
 
   changed = false;
 
-  if ((s_section->mode == CFG_SSMODE_NAMED
-      || s_section->mode == CFG_SSMODE_NAMED_MANDATORY
-      || s_section->mode == CFG_SSMODE_NAMED_WITH_DEFAULT)
-      && (s_section->pre == NULL) != (s_section->post == NULL)) {
+  if ((s_section->mode == CFG_SSMODE_NAMED || s_section->mode == CFG_SSMODE_NAMED_MANDATORY ||
+        s_section->mode == CFG_SSMODE_NAMED_WITH_DEFAULT) &&
+      (s_section->pre == NULL) != (s_section->post == NULL)) {
     /* section vanished or appeared */
     changed = true;
   }
 
-  for (i=0; i<s_section->entry_count; i++) {
+  for (i = 0; i < s_section->entry_count; i++) {
     entry = &s_section->entries[i];
 
     /* read values */
-    entry->pre = cfg_db_get_entry_value(
-        pre_change, s_section->type, section_name, entry->key.entry);
-    entry->post = cfg_db_get_entry_value(
-        post_change, s_section->type, section_name, entry->key.entry);
+    entry->pre = cfg_db_get_entry_value(pre_change, s_section->type, section_name, entry->key.entry);
+    entry->post = cfg_db_get_entry_value(post_change, s_section->type, section_name, entry->key.entry);
 
     entry->delta_changed = strarray_cmp_c(entry->pre, entry->post);
     changed |= entry->delta_changed;
index f0718e7..e687052 100644 (file)
@@ -76,9 +76,11 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define _CFG_VALIDATE(p_name, p_def, p_help, args...)                         { .key.entry = (p_name), .def = { .value = (p_def), .length = sizeof(p_def)}, .help = (p_help), ##args }
+#define _CFG_VALIDATE(p_name, p_def, p_help, args...)                                                                  \
+  { .key.entry = (p_name), .def = { .value = (p_def), .length = sizeof(p_def) }, .help = (p_help), ##args }
 #else
-#define _CFG_VALIDATE(p_name, p_def, p_help, args...)                         { .key.entry = (p_name), .def = { .value = (p_def), .length = sizeof(p_def)}, ##args }
+#define _CFG_VALIDATE(p_name, p_def, p_help, args...)                                                                  \
+  { .key.entry = (p_name), .def = { .value = (p_def), .length = sizeof(p_def) }, ##args }
 #endif
 
 /*
@@ -112,7 +114,9 @@ struct cfg_schema_entry;
  * @param max maximum allowed parameter value
  * @param args variable list of additional arguments
  */
-#define _CFG_VALIDATE_INT(p_name, p_def, p_help, size, fraction, min, max, args...)   _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_int, .cb_valhelp = cfg_schema_help_int, .validate_param = {{.i64 = (min)}, {.i64 = (max)}, {.u16 = {size, fraction}}}, ##args )
+#define _CFG_VALIDATE_INT(p_name, p_def, p_help, size, fraction, min, max, args...)                                    \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_int, .cb_valhelp = cfg_schema_help_int,      \
+    .validate_param = { { .i64 = (min) }, { .i64 = (max) }, { .u16 = { size, fraction } } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that does not need to be validated
@@ -121,7 +125,7 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_STRING(p_name, p_def, p_help, args...)                                  _CFG_VALIDATE(p_name, p_def, p_help, ##args)
+#define CFG_VALIDATE_STRING(p_name, p_def, p_help, args...) _CFG_VALIDATE(p_name, p_def, p_help, ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with a maximum length
@@ -131,7 +135,9 @@ struct cfg_schema_entry;
  * @param maxlen maximum number of characters in string
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_STRING_LEN(p_name, p_def, p_help, maxlen, args...)                      _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_strlen, .cb_valhelp = cfg_schema_help_strlen, .validate_param = {{.s = (maxlen) }}, ##args )
+#define CFG_VALIDATE_STRING_LEN(p_name, p_def, p_help, maxlen, args...)                                                \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_strlen,                                      \
+    .cb_valhelp = cfg_schema_help_strlen, .validate_param = { { .s = (maxlen) } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with
@@ -141,7 +147,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_PRINTABLE(p_name, p_def, p_help, args...)                               _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_printable, .cb_valhelp = cfg_schema_help_printable, .validate_param = {{.s = INT32_MAX }}, ##args )
+#define CFG_VALIDATE_PRINTABLE(p_name, p_def, p_help, args...)                                                         \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_printable,                                   \
+    .cb_valhelp = cfg_schema_help_printable, .validate_param = { { .s = INT32_MAX } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with a maximum length
@@ -152,7 +160,9 @@ struct cfg_schema_entry;
  * @param maxlen maximum number of characters in string
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_PRINTABLE_LEN(p_name, p_def, p_help, maxlen, args...)                   _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_printable, .cb_valhelp = cfg_schema_help_printable, .validate_param = {{.s = (maxlen) }}, ##args )
+#define CFG_VALIDATE_PRINTABLE_LEN(p_name, p_def, p_help, maxlen, args...)                                             \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_printable,                                   \
+    .cb_valhelp = cfg_schema_help_printable, .validate_param = { { .s = (maxlen) } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that can be choosen
@@ -168,7 +178,10 @@ struct cfg_schema_entry;
  * @param p_choice_arg argument for choice callback function
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, p_choice_cb, p_choice_count, p_choice_arg, args...)   _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_choice, .cb_valhelp = cfg_schema_help_choice, .validate_param = {{.ptr = (p_choice_cb)}, {.s = (p_choice_count)}, {.ptr = (p_choice_arg)}}, ##args )
+#define CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, p_choice_cb, p_choice_count, p_choice_arg, args...)          \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_choice,                                      \
+    .cb_valhelp = cfg_schema_help_choice,                                                                              \
+    .validate_param = { { .ptr = (p_choice_cb) }, { .s = (p_choice_count) }, { .ptr = (p_choice_arg) } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that can be choosen
@@ -180,7 +193,8 @@ struct cfg_schema_entry;
  *   (not a pointer to the array, ARRAYSIZE() would not work)
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_CHOICE(p_name, p_def, p_help, p_list, args...)                           CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, cfg_schema_get_choice_value, ARRAYSIZE(p_list), p_list, ##args )
+#define CFG_VALIDATE_CHOICE(p_name, p_def, p_help, p_list, args...)                                                    \
+  CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, cfg_schema_get_choice_value, ARRAYSIZE(p_list), p_list, ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that can be choosen
@@ -195,7 +209,8 @@ struct cfg_schema_entry;
  * @param p_choice_count number of elements in the list
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_CHOICE_CB(p_name, p_def, p_help, p_choice_cb, p_choice_count, args...)   CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, p_choice_cb, p_choice_count, NULL, ##args )
+#define CFG_VALIDATE_CHOICE_CB(p_name, p_def, p_help, p_choice_cb, p_choice_count, args...)                            \
+  CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, p_choice_cb, p_choice_count, NULL, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 32 bit signed integer parameter
@@ -205,7 +220,8 @@ struct cfg_schema_entry;
  * @param fraction number of fractional digits
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_INT32(p_name, p_def, p_help, fraction, base2, args...)                  _CFG_VALIDATE_INT(p_name, p_def, p_help, 4, fraction, INT32_MIN, INT32_MAX, ##args)
+#define CFG_VALIDATE_INT32(p_name, p_def, p_help, fraction, base2, args...)                                            \
+  _CFG_VALIDATE_INT(p_name, p_def, p_help, 4, fraction, INT32_MIN, INT32_MAX, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 64 bit signed integer parameter
@@ -215,7 +231,8 @@ struct cfg_schema_entry;
  * @param fraction number of fractional digits
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_INT64(p_name, p_def, p_help, fraction, base2, args...)                  _CFG_VALIDATE_INT(p_name, p_def, p_help, 8, fraction, INT64_MIN, INT64_MAX, ##args)
+#define CFG_VALIDATE_INT64(p_name, p_def, p_help, fraction, base2, args...)                                            \
+  _CFG_VALIDATE_INT(p_name, p_def, p_help, 8, fraction, INT64_MIN, INT64_MAX, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 32 bit signed integer parameter
@@ -228,7 +245,8 @@ struct cfg_schema_entry;
  * @param max maximal allowed value
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_INT32_MINMAX(p_name, p_def, p_help, fraction, base2, min, max, args...) _CFG_VALIDATE_INT(p_name, p_def, p_help, 4, fraction, min, max, ##args)
+#define CFG_VALIDATE_INT32_MINMAX(p_name, p_def, p_help, fraction, base2, min, max, args...)                           \
+  _CFG_VALIDATE_INT(p_name, p_def, p_help, 4, fraction, min, max, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 64 bit signed integer parameter
@@ -241,7 +259,8 @@ struct cfg_schema_entry;
  * @param max maximal allowed value
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_INT64_MINMAX(p_name, p_def, p_help, fraction, base2, min, max, args...) _CFG_VALIDATE_INT(p_name, p_def, p_help, 8, fraction, min, max, ##args)
+#define CFG_VALIDATE_INT64_MINMAX(p_name, p_def, p_help, fraction, base2, min, max, args...)                           \
+  _CFG_VALIDATE_INT(p_name, p_def, p_help, 8, fraction, min, max, ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address of any type
@@ -252,7 +271,12 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_NETADDR(p_name, p_def, p_help, prefix, unspec, args...)                 _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr, .cb_valhelp = cfg_schema_help_netaddr, .validate_param = {{.i8 = {AF_MAC48, AF_EUI64, AF_INET, AF_INET6, !!(unspec) ? AF_UNSPEC : -1}}, {.b = !!(prefix)}}, ##args )
+#define CFG_VALIDATE_NETADDR(p_name, p_def, p_help, prefix, unspec, args...)                                           \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr,                                     \
+    .cb_valhelp = cfg_schema_help_netaddr,                                                                             \
+    .validate_param = { { .i8 = { AF_MAC48, AF_EUI64, AF_INET, AF_INET6, !!(unspec) ? AF_UNSPEC : -1 } },              \
+      { .b = !!(prefix) } },                                                                                           \
+    ##args)
 
 /**
  * Creates a cfg_schema_entry for a layer-2 network address,
@@ -264,7 +288,11 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_NETADDR_HWADDR(p_name, p_def, p_help, prefix, unspec, args...)          _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr, .cb_valhelp = cfg_schema_help_netaddr, .validate_param = {{.i8 = {AF_MAC48, AF_EUI64, -1,-1, !!(unspec) ? AF_UNSPEC : -1}}, {.b = !!(prefix)}}, ##args )
+#define CFG_VALIDATE_NETADDR_HWADDR(p_name, p_def, p_help, prefix, unspec, args...)                                    \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr,                                     \
+    .cb_valhelp = cfg_schema_help_netaddr,                                                                             \
+    .validate_param = { { .i8 = { AF_MAC48, AF_EUI64, -1, -1, !!(unspec) ? AF_UNSPEC : -1 } }, { .b = !!(prefix) } },  \
+    ##args)
 
 /**
  * Creates a cfg_schema_entry for a MAC (ethernet) network address
@@ -275,7 +303,11 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_NETADDR_MAC48(p_name, p_def, p_help, prefix, unspec, args...)           _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr, .cb_valhelp = cfg_schema_help_netaddr, .validate_param = {{.i8 = {AF_MAC48, -1,-1,-1, !!(unspec) ? AF_UNSPEC : -1}}, {.b = !!(prefix)}}, ##args )
+#define CFG_VALIDATE_NETADDR_MAC48(p_name, p_def, p_help, prefix, unspec, args...)                                     \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr,                                     \
+    .cb_valhelp = cfg_schema_help_netaddr,                                                                             \
+    .validate_param = { { .i8 = { AF_MAC48, -1, -1, -1, !!(unspec) ? AF_UNSPEC : -1 } }, { .b = !!(prefix) } },        \
+    ##args)
 
 /**
  * Creates a cfg_schema_entry for an EUI-64 network address
@@ -286,7 +318,11 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_NETADDR_EUI64(p_name, p_def, p_help, prefix, unspec, args...)           _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr, .cb_valhelp = cfg_schema_help_netaddr, .validate_param = {{.i8 = {AF_EUI64, -1,-1,-1, !!(unspec) ? AF_UNSPEC : -1}}, {.b = !!(prefix)}}, ##args )
+#define CFG_VALIDATE_NETADDR_EUI64(p_name, p_def, p_help, prefix, unspec, args...)                                     \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr,                                     \
+    .cb_valhelp = cfg_schema_help_netaddr,                                                                             \
+    .validate_param = { { .i8 = { AF_EUI64, -1, -1, -1, !!(unspec) ? AF_UNSPEC : -1 } }, { .b = !!(prefix) } },        \
+    ##args)
 
 /**
  * Creates a cfg_schema_entry for an IPv4 network address
@@ -297,7 +333,10 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_NETADDR_V4(p_name, p_def, p_help, prefix, unspec, args...)              _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr, .cb_valhelp = cfg_schema_help_netaddr, .validate_param = {{.i8 = {AF_INET, -1,-1,-1, !!(unspec) ? AF_UNSPEC : -1}}, {.b = !!(prefix)}}, ##args )
+#define CFG_VALIDATE_NETADDR_V4(p_name, p_def, p_help, prefix, unspec, args...)                                        \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr,                                     \
+    .cb_valhelp = cfg_schema_help_netaddr,                                                                             \
+    .validate_param = { { .i8 = { AF_INET, -1, -1, -1, !!(unspec) ? AF_UNSPEC : -1 } }, { .b = !!(prefix) } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for an IPv6 network address
@@ -308,7 +347,11 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_NETADDR_V6(p_name, p_def, p_help, prefix, unspec, args...)              _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr, .cb_valhelp = cfg_schema_help_netaddr, .validate_param = {{.i8 = {AF_INET6, -1,-1,-1, !!(unspec) ? AF_UNSPEC : -1}}, {.b = !!(prefix)}}, ##args )
+#define CFG_VALIDATE_NETADDR_V6(p_name, p_def, p_help, prefix, unspec, args...)                                        \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr,                                     \
+    .cb_valhelp = cfg_schema_help_netaddr,                                                                             \
+    .validate_param = { { .i8 = { AF_INET6, -1, -1, -1, !!(unspec) ? AF_UNSPEC : -1 } }, { .b = !!(prefix) } },        \
+    ##args)
 
 /**
  * Creates a cfg_schema_entry for an IP network address
@@ -320,7 +363,11 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_NETADDR_V46(p_name, p_def, p_help, prefix, unspec, args...)             _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr, .cb_valhelp = cfg_schema_help_netaddr, .validate_param = {{.i8 = {AF_INET, AF_INET6, -1,-1, !!(unspec) ? AF_UNSPEC : -1}}, {.b = !!(prefix)}}, ##args )
+#define CFG_VALIDATE_NETADDR_V46(p_name, p_def, p_help, prefix, unspec, args...)                                       \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_netaddr,                                     \
+    .cb_valhelp = cfg_schema_help_netaddr,                                                                             \
+    .validate_param = { { .i8 = { AF_INET, AF_INET6, -1, -1, !!(unspec) ? AF_UNSPEC : -1 } }, { .b = !!(prefix) } },   \
+    ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -330,7 +377,10 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_ACL(p_name, p_def, p_help, args...)                                     _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl, .list = true, .validate_param = {{.i8 = {AF_MAC48, AF_EUI64, AF_INET, AF_INET6, -1}}, {.b = true}}, ##args )
+#define CFG_VALIDATE_ACL(p_name, p_def, p_help, args...)                                                               \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl,      \
+    .list = true, .validate_param = { { .i8 = { AF_MAC48, AF_EUI64, AF_INET, AF_INET6, -1 } }, { .b = true } },        \
+    ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -340,7 +390,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_ACL_HWADDR(p_name, p_def, p_help, args...)                              _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl, .list = true, .validate_param = {{.i8 = {AF_MAC48, AF_EUI64, -1, -1, -1}}, {.b = true}}, ##args )
+#define CFG_VALIDATE_ACL_HWADDR(p_name, p_def, p_help, args...)                                                        \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl,      \
+    .list = true, .validate_param = { { .i8 = { AF_MAC48, AF_EUI64, -1, -1, -1 } }, { .b = true } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -350,7 +402,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_ACL_MAC48(p_name, p_def, p_help, args...)                               _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl, .list = true, .validate_param = {{.i8 = {AF_MAC48, -1, -1, -1, -1}}, {.b = true}}, ##args )
+#define CFG_VALIDATE_ACL_MAC48(p_name, p_def, p_help, args...)                                                         \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl,      \
+    .list = true, .validate_param = { { .i8 = { AF_MAC48, -1, -1, -1, -1 } }, { .b = true } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -360,7 +414,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_ACL_EUI64(p_name, p_def, p_help, args...)                               _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl, .list = true, .validate_param = {{.i8 = {AF_EUI64, -1, -1, -1, -1}}, {.b = true}}, ##args )
+#define CFG_VALIDATE_ACL_EUI64(p_name, p_def, p_help, args...)                                                         \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl,      \
+    .list = true, .validate_param = { { .i8 = { AF_EUI64, -1, -1, -1, -1 } }, { .b = true } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -370,7 +426,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_ACL_V4(p_name, p_def, p_help, args...)                                  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl, .list = true, .validate_param = {{.i8 = {AF_INET, -1, -1, -1, -1}}, {.b = true}}, ##args )
+#define CFG_VALIDATE_ACL_V4(p_name, p_def, p_help, args...)                                                            \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl,      \
+    .list = true, .validate_param = { { .i8 = { AF_INET, -1, -1, -1, -1 } }, { .b = true } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -380,7 +438,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_ACL_V6(p_name, p_def, p_help, args...)                                  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl, .list = true, .validate_param = {{.i8 = {AF_INET6, -1, -1, -1, -1}}, {.b = true}}, ##args )
+#define CFG_VALIDATE_ACL_V6(p_name, p_def, p_help, args...)                                                            \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl,      \
+    .list = true, .validate_param = { { .i8 = { AF_INET6, -1, -1, -1, -1 } }, { .b = true } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -390,7 +450,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_ACL_V46(p_name, p_def, p_help, args...)                                 _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl, .list = true, .validate_param = {{.i8 = {AF_INET, AF_INET6, -1, -1, -1}}, {.b = true}}, ##args )
+#define CFG_VALIDATE_ACL_V46(p_name, p_def, p_help, args...)                                                           \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_acl, .cb_valhelp = cfg_schema_help_acl,      \
+    .list = true, .validate_param = { { .i8 = { AF_INET, AF_INET6, -1, -1, -1 } }, { .b = true } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for 256 bit bitmap.
@@ -399,7 +461,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_BITMAP256(p_name, p_def, p_help, args...)                               _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_bitmap256, .cb_valhelp = cfg_schema_help_bitmap256, .list = true, ##args )
+#define CFG_VALIDATE_BITMAP256(p_name, p_def, p_help, args...)                                                         \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_bitmap256,                                   \
+    .cb_valhelp = cfg_schema_help_bitmap256, .list = true, ##args)
 
 /**
  * Creates a cfg_schema_entry for a boolean parameter
@@ -408,7 +472,8 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_BOOL(p_name, p_def, p_help, args...)                                    CFG_VALIDATE_CHOICE(p_name, p_def, p_help, CFGLIST_BOOL, ##args)
+#define CFG_VALIDATE_BOOL(p_name, p_def, p_help, args...)                                                              \
+  CFG_VALIDATE_CHOICE(p_name, p_def, p_help, CFGLIST_BOOL, ##args)
 
 /**
  * Creates a cfg_schema_entry for a list of parameters, split by spaces
@@ -418,7 +483,9 @@ struct cfg_schema_entry;
  * @param schema_entries array of schema entries for tokens
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_TOKENS(p_name, p_def, p_help, schema_entries, args...)                  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_tokens, .cb_valhelp = cfg_schema_help_token, .validate_param = {{.ptr = (schema_entries)}, {.s = ARRAYSIZE(schema_entries)}}, ##args)
+#define CFG_VALIDATE_TOKENS(p_name, p_def, p_help, schema_entries, args...)                                            \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_tokens, .cb_valhelp = cfg_schema_help_token, \
+    .validate_param = { { .ptr = (schema_entries) }, { .s = ARRAYSIZE(schema_entries) } }, ##args)
 
 /**
  * Creates a cfg_schema_entry for a list of parameters, split by spaces.
@@ -429,8 +496,10 @@ struct cfg_schema_entry;
  * @param custom pointer to customizer for tokens
  * @param args variable list of additional arguments
  */
-#define CFG_VALIDATE_TOKENS_CUSTOM(p_name, p_def, p_help, schema_entries, custom, args...)   _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_tokens, .cb_valhelp = cfg_schema_help_token, .validate_param = {{.ptr = (schema_entries)}, {.s = ARRAYSIZE(schema_entries)}, {.ptr = &(custom)}}, ##args)
-
+#define CFG_VALIDATE_TOKENS_CUSTOM(p_name, p_def, p_help, schema_entries, custom, args...)                             \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_validate = cfg_schema_validate_tokens, .cb_valhelp = cfg_schema_help_token, \
+    .validate_param = { { .ptr = (schema_entries) }, { .s = ARRAYSIZE(schema_entries) }, { .ptr = &(custom) } },       \
+    ##args)
 
 /*
  * Example of a section schema definition with binary mapping
@@ -464,7 +533,7 @@ struct cfg_schema_entry;
  * @param p_reference reference to instance of struct
  * @param p_field name of field in the struct for the parameter,
  */
-#define calculate_size(p_reference, p_field)   sizeof(((struct p_reference *)0)->p_field)
+#define calculate_size(p_reference, p_field) sizeof(((struct p_reference *)0)->p_field)
 
 /**
  * Helper macro to create a cfg_schema_entry for an integer parameter
@@ -482,7 +551,9 @@ struct cfg_schema_entry;
  * @param max maximum allowed parameter value
  * @param args variable list of additional arguments
  */
-#define _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, size, fraction, min, max, args...)   _CFG_VALIDATE_INT(p_name, p_def, p_help, size, fraction, min, max, .cb_to_binary = cfg_schema_tobin_int, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args )
+#define _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, size, fraction, min, max, args...)                   \
+  _CFG_VALIDATE_INT(p_name, p_def, p_help, size, fraction, min, max, .cb_to_binary = cfg_schema_tobin_int,             \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that does not need to be validated
@@ -495,7 +566,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_STRING(p_reference, p_field, p_name, p_def, p_help, args...)                                  _CFG_VALIDATE(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_strptr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args )
+#define CFG_MAP_STRING(p_reference, p_field, p_name, p_def, p_help, args...)                                           \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_strptr,                                        \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with a maximum length
@@ -509,7 +582,9 @@ struct cfg_schema_entry;
  * @param maxlen maximum number of characters in string
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_STRING_LEN(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                      CFG_VALIDATE_STRING_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strptr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_STRING_LEN(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                               \
+  CFG_VALIDATE_STRING_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strptr,                      \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with a maximum length
@@ -523,7 +598,9 @@ struct cfg_schema_entry;
  * @param maxlen maximum number of characters in string
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_STRING_ARRAY(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                    CFG_VALIDATE_STRING_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strarray, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args )
+#define CFG_MAP_STRING_ARRAY(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                             \
+  CFG_VALIDATE_STRING_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strarray,                    \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with
@@ -536,7 +613,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_PRINTABLE(p_reference, p_field, p_name, p_def, p_help, args...)                               CFG_VALIDATE_PRINTABLE(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_strptr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_PRINTABLE(p_reference, p_field, p_name, p_def, p_help, args...)                                        \
+  CFG_VALIDATE_PRINTABLE(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_strptr,                               \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with a maximum length,
@@ -550,7 +629,9 @@ struct cfg_schema_entry;
  * @param maxlen maximum number of characters in string
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_PRINTABLE_LEN(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                   CFG_VALIDATE_PRINTABLE_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strptr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_PRINTABLE_LEN(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                            \
+  CFG_VALIDATE_PRINTABLE_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strptr,                   \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a string parameter with a maximum length,
@@ -564,7 +645,9 @@ struct cfg_schema_entry;
  * @param maxlen maximum number of characters in string
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_PRINTABLE_ARRAY(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                 CFG_VALIDATE_PRINTABLE_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strarray, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_PRINTABLE_ARRAY(p_reference, p_field, p_name, p_def, p_help, maxlen, args...)                          \
+  CFG_VALIDATE_PRINTABLE_LEN(p_name, p_def, p_help, maxlen, .cb_to_binary = cfg_schema_tobin_strarray,                 \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that can be chosen
@@ -582,7 +665,11 @@ struct cfg_schema_entry;
  * @param p_choice_arg argument for choice callback function
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_CHOICE_CB_ARG(p_reference, p_field, p_name, p_def, p_help, p_choice_cb, p_choice_count, p_choice_arg, args...)   CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, p_choice_cb, p_choice_count, p_choice_arg, .cb_to_binary = cfg_schema_tobin_choice, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args )
+#define CFG_MAP_CHOICE_CB_ARG(                                                                                         \
+  p_reference, p_field, p_name, p_def, p_help, p_choice_cb, p_choice_count, p_choice_arg, args...)                     \
+  CFG_VALIDATE_CHOICE_CB_ARG(p_name, p_def, p_help, p_choice_cb, p_choice_count, p_choice_arg,                         \
+    .cb_to_binary = cfg_schema_tobin_choice, .bin_size = calculate_size(p_reference, p_field),                         \
+    .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that can be choosen
@@ -598,7 +685,8 @@ struct cfg_schema_entry;
  *   (not a pointer to the array, ARRAYSIZE() would not work)
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_CHOICE_CB(p_reference, p_field, p_name, p_def, p_help, p_choice_cb, p_choice_count, args...)                          CFG_MAP_CHOICE_CB_ARG(p_reference, p_field, p_name, p_def, p_help, p_choice_cb, p_choice_count, NULL, ##args)
+#define CFG_MAP_CHOICE_CB(p_reference, p_field, p_name, p_def, p_help, p_choice_cb, p_choice_count, args...)           \
+  CFG_MAP_CHOICE_CB_ARG(p_reference, p_field, p_name, p_def, p_help, p_choice_cb, p_choice_count, NULL, ##args)
 
 /**
  * Creates a cfg_schema_entry for a parameter that can be choosen
@@ -614,7 +702,9 @@ struct cfg_schema_entry;
  *   (not a pointer to the array, ARRAYSIZE() would not work)
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_CHOICE(p_reference, p_field, p_name, p_def, p_help, p_list, args...)                          CFG_MAP_CHOICE_CB_ARG(p_reference, p_field, p_name, p_def, p_help, cfg_schema_get_choice_value, ARRAYSIZE(p_list), p_list, ##args)
+#define CFG_MAP_CHOICE(p_reference, p_field, p_name, p_def, p_help, p_list, args...)                                   \
+  CFG_MAP_CHOICE_CB_ARG(                                                                                               \
+    p_reference, p_field, p_name, p_def, p_help, cfg_schema_get_choice_value, ARRAYSIZE(p_list), p_list, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 32 bit signed integer parameter
@@ -628,7 +718,8 @@ struct cfg_schema_entry;
  * @param fraction number of fractional digits
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_INT32(p_reference, p_field, p_name, p_def, p_help, fraction, args...)                  _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 4, fraction, INT32_MIN, INT32_MAX, ##args)
+#define CFG_MAP_INT32(p_reference, p_field, p_name, p_def, p_help, fraction, args...)                                  \
+  _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 4, fraction, INT32_MIN, INT32_MAX, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 64 bit signed integer parameter
@@ -642,7 +733,8 @@ struct cfg_schema_entry;
  * @param fraction number of fractional digits
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_INT64(p_reference, p_field, p_name, p_def, p_help, fraction, args...)                  _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 8, fraction, INT64_MIN, INT64_MAX, ##args)
+#define CFG_MAP_INT64(p_reference, p_field, p_name, p_def, p_help, fraction, args...)                                  \
+  _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 8, fraction, INT64_MIN, INT64_MAX, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 32 bit signed integer parameter
@@ -658,7 +750,8 @@ struct cfg_schema_entry;
  * @param max maximal allowed value
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_INT32_MINMAX(p_reference, p_field, p_name, p_def, p_help, fraction, min, max, args...) _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 4, fraction, min, max, ##args)
+#define CFG_MAP_INT32_MINMAX(p_reference, p_field, p_name, p_def, p_help, fraction, min, max, args...)                 \
+  _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 4, fraction, min, max, ##args)
 
 /**
  * Creates a cfg_schema_entry for a 64 bit signed integer parameter
@@ -674,7 +767,8 @@ struct cfg_schema_entry;
  * @param max maximal allowed value
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_INT64_MINMAX(p_reference, p_field, p_name, p_def, p_help, fraction, min, max, args...) _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 8, fraction, min, max, ##args)
+#define CFG_MAP_INT64_MINMAX(p_reference, p_field, p_name, p_def, p_help, fraction, min, max, args...)                 \
+  _CFG_MAP_INT(p_reference, p_field, p_name, p_def, p_help, 8, fraction, min, max, ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address of any type
@@ -689,7 +783,9 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_NETADDR(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                 CFG_VALIDATE_NETADDR(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_NETADDR(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                          \
+  CFG_VALIDATE_NETADDR(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr,                \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a layer-2 network address,
@@ -704,7 +800,9 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_NETADDR_HWADDR(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)          CFG_VALIDATE_NETADDR_HWADDR(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_NETADDR_HWADDR(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                   \
+  CFG_VALIDATE_NETADDR_HWADDR(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr,         \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a MAC (ethernet) network address
@@ -719,7 +817,9 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_NETADDR_MAC48(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)           CFG_VALIDATE_NETADDR_MAC48(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_NETADDR_MAC48(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                    \
+  CFG_VALIDATE_NETADDR_MAC48(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr,          \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for an EUI-64 network address
@@ -734,7 +834,9 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_NETADDR_EUI64(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)           CFG_VALIDATE_NETADDR_EUI64(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_NETADDR_EUI64(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                    \
+  CFG_VALIDATE_NETADDR_EUI64(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr,          \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for an IPv4 network address
@@ -749,7 +851,9 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_NETADDR_V4(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)              CFG_VALIDATE_NETADDR_V4(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_NETADDR_V4(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                       \
+  CFG_VALIDATE_NETADDR_V4(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr,             \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for an IPv6 network address
@@ -764,7 +868,9 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_NETADDR_V6(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)              CFG_VALIDATE_NETADDR_V6(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_NETADDR_V6(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                       \
+  CFG_VALIDATE_NETADDR_V6(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr,             \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for an IP network address
@@ -779,7 +885,9 @@ struct cfg_schema_entry;
  * @param unspec true if the parameter also allows an unspecified address
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_NETADDR_V46(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)             CFG_VALIDATE_NETADDR_V46(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_NETADDR_V46(p_reference, p_field, p_name, p_def, p_help, prefix, unspec, args...)                      \
+  CFG_VALIDATE_NETADDR_V46(p_name, p_def, p_help, prefix, unspec, .cb_to_binary = cfg_schema_tobin_netaddr,            \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -792,7 +900,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_ACL(p_reference, p_field, p_name, p_def, p_help, args...)                                     CFG_VALIDATE_ACL(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_ACL(p_reference, p_field, p_name, p_def, p_help, args...)                                              \
+  CFG_VALIDATE_ACL(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl,                                        \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -806,7 +916,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_ACL_HWADDR(p_reference, p_field, p_name, p_def, p_help, args...)                              CFG_VALIDATE_ACL_HWADDR(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_ACL_HWADDR(p_reference, p_field, p_name, p_def, p_help, args...)                                       \
+  CFG_VALIDATE_ACL_HWADDR(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl,                                 \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -820,7 +932,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_ACL_MAC48(p_reference, p_field, p_name, p_def, p_help, args...)                               CFG_VALIDATE_ACL_MAC48(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_ACL_MAC48(p_reference, p_field, p_name, p_def, p_help, args...)                                        \
+  CFG_VALIDATE_ACL_MAC48(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl,                                  \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -834,7 +948,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_ACL_EUI64(p_reference, p_field, p_name, p_def, p_help, args...)                               CFG_VALIDATE_ACL_EUI64(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_ACL_EUI64(p_reference, p_field, p_name, p_def, p_help, args...)                                        \
+  CFG_VALIDATE_ACL_EUI64(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl,                                  \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -848,7 +964,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_ACL_V4(p_reference, p_field, p_name, p_def, p_help, args...)                                  CFG_VALIDATE_ACL_V4(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_ACL_V4(p_reference, p_field, p_name, p_def, p_help, args...)                                           \
+  CFG_VALIDATE_ACL_V4(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl,                                     \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -862,7 +980,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_ACL_V6(p_reference, p_field, p_name, p_def, p_help, args...)                                  CFG_VALIDATE_ACL_V6(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_ACL_V6(p_reference, p_field, p_name, p_def, p_help, args...)                                           \
+  CFG_VALIDATE_ACL_V6(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl,                                     \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a network address based
@@ -876,7 +996,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_ACL_V46(p_reference, p_field, p_name, p_def, p_help, args...)                                 CFG_VALIDATE_ACL_V46(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_ACL_V46(p_reference, p_field, p_name, p_def, p_help, args...)                                          \
+  CFG_VALIDATE_ACL_V46(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_acl,                                    \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for 256 bit bitmap that can be
@@ -889,7 +1011,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_BITMAP256(p_reference, p_field, p_name, p_def, p_help, args...)                               CFG_VALIDATE_BITMAP256(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_bitmap256, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_BITMAP256(p_reference, p_field, p_name, p_def, p_help, args...)                                        \
+  CFG_VALIDATE_BITMAP256(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_bitmap256,                            \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for a boolean parameter
@@ -902,7 +1026,9 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_BOOL(p_reference, p_field, p_name, p_def, p_help, args...)                                    CFG_VALIDATE_BOOL(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_bool, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
+#define CFG_MAP_BOOL(p_reference, p_field, p_name, p_def, p_help, args...)                                             \
+  CFG_VALIDATE_BOOL(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_bool,                                      \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), ##args)
 
 /**
  * Creates a cfg_schema_entry for list of strings that can
@@ -915,7 +1041,10 @@ struct cfg_schema_entry;
  * @param p_help help text for configuration entry
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_STRINGLIST(p_reference, p_field, p_name, p_def, p_help, args...)                              _CFG_VALIDATE(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_stringlist, .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field), .list = true, ##args )
+#define CFG_MAP_STRINGLIST(p_reference, p_field, p_name, p_def, p_help, args...)                                       \
+  _CFG_VALIDATE(p_name, p_def, p_help, .cb_to_binary = cfg_schema_tobin_stringlist,                                    \
+    .bin_size = calculate_size(p_reference, p_field), .bin_offset = offsetof(struct p_reference, p_field),             \
+    .list = true, ##args)
 
 /**
  * Creates a cfg_schema_entry for a list of parameters, split by spaces
@@ -926,7 +1055,8 @@ struct cfg_schema_entry;
  * @param schema_entries array of schema entries for tokens
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_TOKENS(p_name, p_def, p_help, schema_entries, args...)                                        CFG_VALIDATE_TOKENS(p_name, p_def, p_help, schema_entries, .cb_to_binary = cfg_schema_tobin_tokens, ##args)
+#define CFG_MAP_TOKENS(p_name, p_def, p_help, schema_entries, args...)                                                 \
+  CFG_VALIDATE_TOKENS(p_name, p_def, p_help, schema_entries, .cb_to_binary = cfg_schema_tobin_tokens, ##args)
 /**
  * Creates a cfg_schema_entry for a list of parameters, split by spaces
  * that can be mapped into a binary struct. Contains a pointer to
@@ -938,7 +1068,8 @@ struct cfg_schema_entry;
  * @param custom pointer to customizer for tokens
  * @param args variable list of additional arguments
  */
-#define CFG_MAP_TOKENS_CUSTOM(p_name, p_def, p_help, schema_entries, custom, args...)                         CFG_VALIDATE_TOKENS(p_name, p_def, p_help, schema_entries, custom, .cb_to_binary = cfg_schema_tobin_tokens, ##args)
+#define CFG_MAP_TOKENS_CUSTOM(p_name, p_def, p_help, schema_entries, custom, args...)                                  \
+  CFG_VALIDATE_TOKENS(p_name, p_def, p_help, schema_entries, custom, .cb_to_binary = cfg_schema_tobin_tokens, ##args)
 
 /*! convenience definition for configuration that only allows access from loopback */
 #define ACL_LOCALHOST_ONLY "+127.0.0.1/8\0+::1/128\0" ACL_DEFAULT_REJECT
@@ -960,34 +1091,35 @@ struct cfg_schema {
 /**
  * Possible modes for a schema section
  */
-enum cfg_schema_section_mode {
+enum cfg_schema_section_mode
+{
   /**
    * normal unnamed section, delta handlers will be triggered at
    * startup even it does not exist in the configuration file
    *
    * default setting
    */
-  CFG_SSMODE_UNNAMED = 0,       //!< CFG_SSMODE_UNNAMED
+  CFG_SSMODE_UNNAMED = 0, //!< CFG_SSMODE_UNNAMED
 
   /**
    * named section, delta handlers will always trigger for this
    */
-  CFG_SSMODE_NAMED,             //!< CFG_SSMODE_NAMED
+  CFG_SSMODE_NAMED, //!< CFG_SSMODE_NAMED
 
   /**
    * named section, configuration demands at least one existing
    * section of this type to be valid.
    */
-  CFG_SSMODE_NAMED_MANDATORY,   //!< CFG_SSMODE_NAMED_MANDATORY
+  CFG_SSMODE_NAMED_MANDATORY, //!< CFG_SSMODE_NAMED_MANDATORY
 
   /**
    * named section, if none exists the configuration will create
    * a temporary (and empty) section with the defined default name.
    */
-  CFG_SSMODE_NAMED_WITH_DEFAULT,//!< CFG_SSMODE_NAMED_WITH_DEFAULT
+  CFG_SSMODE_NAMED_WITH_DEFAULT, //!< CFG_SSMODE_NAMED_WITH_DEFAULT
 
   /*! number of configuration section modes */
-  CFG_SSMODE_MAX,               //!< CFG_SSMODE_MAX
+  CFG_SSMODE_MAX, //!< CFG_SSMODE_MAX
 };
 
 /**
@@ -1017,8 +1149,7 @@ struct cfg_schema_section {
    * @param log buffer for text output of validator
    * @return -1 if section was invalid, 0 otherwise
    */
-  int (*cb_validate)(const char *section_name,
-      struct cfg_named_section *named, struct autobuf *log);
+  int (*cb_validate)(const char *section_name, struct cfg_named_section *named, struct autobuf *log);
 
   /*! node for global delta handler tree, initialized by delta_add() */
   struct list_entity _delta_node;
@@ -1097,8 +1228,8 @@ struct cfg_schema_entry {
    * @param out buffer for text output of validation
    * @return -1 if entry was invalid, 0 otherwise
    */
-  int (*cb_validate)(const struct cfg_schema_entry *entry,
-      const char *section_name, const char *value, struct autobuf *out);
+  int (*cb_validate)(
+    const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
 
   /**
    * Outputs a help string for this schema entry
@@ -1129,8 +1260,7 @@ struct cfg_schema_entry {
    * @param ptr pointer to binary data structure to put data into
    * @return -1 if an error happened, 0 otherwise
    */
-  int (*cb_to_binary)(const struct cfg_schema_entry *s_entry,
-      const struct const_strarray *value, void *ptr);
+  int (*cb_to_binary)(const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *ptr);
 
   /*! offset of current binary data compared to reference pointer */
   size_t bin_offset;
@@ -1165,9 +1295,8 @@ struct cfg_schema_token_customizer {
    * @param entry_count number of schema entries for token
    * @return -1 if validation failed, 0 otherwise
    */
-  int (*cb_validator)(struct autobuf *out,
-      const char *section_name, const char *entry_name,
-      const char *value, struct cfg_schema_entry *entries, size_t entry_count);
+  int (*cb_validator)(struct autobuf *out, const char *section_name, const char *entry_name, const char *value,
+    struct cfg_schema_entry *entries, size_t entry_count);
 
   /**
    * Additional binary converter for TOKENs
@@ -1179,8 +1308,7 @@ struct cfg_schema_token_customizer {
    *   placing the content of the tokens
    * @return -1 if an error happened, 0 otherwise
    */
-  int (*cb_tobin)(struct cfg_schema_entry *entries, size_t entry_count,
-      const char *value, void *ptr);
+  int (*cb_tobin)(struct cfg_schema_entry *entries, size_t entry_count, const char *value, void *ptr);
 
   /**
    * Additional help output generator for TOKENs
@@ -1205,11 +1333,10 @@ EXPORT void cfg_schema_add(struct cfg_schema *schema);
 EXPORT void cfg_schema_add_section(struct cfg_schema *schema, struct cfg_schema_section *section);
 EXPORT void cfg_schema_remove_section(struct cfg_schema *schema, struct cfg_schema_section *section);
 
-EXPORT int cfg_schema_validate(struct cfg_db *db,
-    bool cleanup, bool ignore_unknown_sections, struct autobuf *out);
+EXPORT int cfg_schema_validate(struct cfg_db *db, bool cleanup, bool ignore_unknown_sections, struct autobuf *out);
 
-EXPORT int cfg_schema_tobin(void *target, struct cfg_named_section *named,
-    const struct cfg_schema_entry *entries, size_t count);
+EXPORT int cfg_schema_tobin(
+  void *target, struct cfg_named_section *named, const struct cfg_schema_entry *entries, size_t count);
 
 EXPORT int cfg_schema_handle_db_changes(struct cfg_db *pre_change, struct cfg_db *post_change);
 EXPORT int cfg_schema_handle_db_startup_changes(struct cfg_db *db);
@@ -1218,60 +1345,52 @@ EXPORT int cfg_avlcmp_schemaentries(const void *p1, const void *p2);
 
 EXPORT const char *cfg_schema_get_choice_value(size_t idx, const void *ptr);
 
-EXPORT int cfg_schema_validate_printable(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-EXPORT int cfg_schema_validate_strlen(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-EXPORT int cfg_schema_validate_choice(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-EXPORT int cfg_schema_validate_int(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-EXPORT int cfg_schema_validate_netaddr(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-EXPORT int cfg_schema_validate_acl(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-EXPORT int cfg_schema_validate_bitmap256(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-EXPORT int cfg_schema_validate_tokens(const struct cfg_schema_entry *entry,
-    const char *section_name, const char *value, struct autobuf *out);
-
-EXPORT void cfg_schema_help_printable(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-EXPORT void cfg_schema_help_strlen(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-EXPORT void cfg_schema_help_choice(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-EXPORT void cfg_schema_help_int(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-EXPORT void cfg_schema_help_netaddr(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-EXPORT void cfg_schema_help_acl(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-EXPORT void cfg_schema_help_bitmap256(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-EXPORT void cfg_schema_help_token(
-    const struct cfg_schema_entry *entry, struct autobuf *out);
-
-EXPORT int cfg_schema_tobin_strptr(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_strarray(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_choice(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_int(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_netaddr(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_bool(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_stringlist(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_acl(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_bitmap256(const struct cfg_schema_entry *s_entry,
-     const struct const_strarray *value, void *reference);
-EXPORT int cfg_schema_tobin_tokens(const struct cfg_schema_entry *s_entry,
-    const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_validate_printable(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+EXPORT int cfg_schema_validate_strlen(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+EXPORT int cfg_schema_validate_choice(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+EXPORT int cfg_schema_validate_int(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+EXPORT int cfg_schema_validate_netaddr(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+EXPORT int cfg_schema_validate_acl(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+EXPORT int cfg_schema_validate_bitmap256(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+EXPORT int cfg_schema_validate_tokens(
+  const struct cfg_schema_entry *entry, const char *section_name, const char *value, struct autobuf *out);
+
+EXPORT void cfg_schema_help_printable(const struct cfg_schema_entry *entry, struct autobuf *out);
+EXPORT void cfg_schema_help_strlen(const struct cfg_schema_entry *entry, struct autobuf *out);
+EXPORT void cfg_schema_help_choice(const struct cfg_schema_entry *entry, struct autobuf *out);
+EXPORT void cfg_schema_help_int(const struct cfg_schema_entry *entry, struct autobuf *out);
+EXPORT void cfg_schema_help_netaddr(const struct cfg_schema_entry *entry, struct autobuf *out);
+EXPORT void cfg_schema_help_acl(const struct cfg_schema_entry *entry, struct autobuf *out);
+EXPORT void cfg_schema_help_bitmap256(const struct cfg_schema_entry *entry, struct autobuf *out);
+EXPORT void cfg_schema_help_token(const struct cfg_schema_entry *entry, struct autobuf *out);
+
+EXPORT int cfg_schema_tobin_strptr(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_strarray(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_choice(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_int(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_netaddr(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_bool(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_stringlist(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_acl(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_bitmap256(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
+EXPORT int cfg_schema_tobin_tokens(
+  const struct cfg_schema_entry *s_entry, const struct const_strarray *value, void *reference);
 
 /**
  * Finds a section in a schema
@@ -1296,7 +1415,7 @@ static INLINE struct cfg_schema_entry *
 cfg_schema_find_section_entry(struct cfg_schema_section *section, const char *name) {
   size_t i;
 
-  for (i=0; i<section->entry_count; i++) {
+  for (i = 0; i < section->entry_count; i++) {
     if (strcmp(section->entries[i].key.entry, name) == 0) {
       return &section->entries[i];
     }
index 7a6b082..c5e13e9 100644 (file)
@@ -7,8 +7,8 @@
 
 #include <errno.h>
 
-#include "common/common_types.h"
 #include "common/bitmap256.h"
+#include "common/common_types.h"
 #include "common/isonumber.h"
 #include "common/netaddr.h"
 #include "common/netaddr_acl.h"
@@ -54,8 +54,7 @@ cfg_tobin_strptr(void *reference, size_t bin_size, const struct const_strarray *
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_tobin_strarray(void *reference, size_t bin_size,
-    const struct const_strarray *value, size_t array_size) {
+cfg_tobin_strarray(void *reference, size_t bin_size, const struct const_strarray *value, size_t array_size) {
   char *ptr;
 
   if (bin_size < array_size) {
@@ -80,10 +79,8 @@ cfg_tobin_strarray(void *reference, size_t bin_size,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_tobin_choice(void *reference, size_t bin_size,
-    const struct const_strarray *value,
-    const char *(*callback)(size_t idx, const void *ptr),
-    size_t choices_count, const void *ptr) {
+cfg_tobin_choice(void *reference, size_t bin_size, const struct const_strarray *value,
+  const char *(*callback)(size_t idx, const void *ptr), size_t choices_count, const void *ptr) {
   int *result;
 
   if (bin_size != sizeof(int)) {
@@ -92,8 +89,7 @@ cfg_tobin_choice(void *reference, size_t bin_size,
 
   result = (int *)reference;
 
-  *result = cfg_get_choice_index(strarray_get_first_c(value),
-      callback, choices_count, ptr);
+  *result = cfg_get_choice_index(strarray_get_first_c(value), callback, choices_count, ptr);
   return 0;
 }
 
@@ -108,8 +104,7 @@ cfg_tobin_choice(void *reference, size_t bin_size,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_tobin_int(void *reference, size_t bin_size,
-    const struct const_strarray *value, int fractions, size_t int_size) {
+cfg_tobin_int(void *reference, size_t bin_size, const struct const_strarray *value, int fractions, size_t int_size) {
   int64_t i;
   int result;
 
@@ -142,8 +137,7 @@ cfg_tobin_int(void *reference, size_t bin_size,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_tobin_netaddr(void *reference, size_t bin_size,
-    const struct const_strarray *value) {
+cfg_tobin_netaddr(void *reference, size_t bin_size, const struct const_strarray *value) {
   struct netaddr *ptr;
 
   if (bin_size != sizeof(*ptr)) {
@@ -164,8 +158,7 @@ cfg_tobin_netaddr(void *reference, size_t bin_size,
  * @return -1 if an error happened, 0 otherwise
  */
 int
-cfg_tobin_acl(void *reference, size_t bin_size,
-     const struct const_strarray *value) {
+cfg_tobin_acl(void *reference, size_t bin_size, const struct const_strarray *value) {
   struct netaddr_acl *ptr;
 
   if (bin_size != sizeof(*ptr)) {
@@ -187,8 +180,7 @@ cfg_tobin_acl(void *reference, size_t bin_size,
  * @return -1 if an error happened, 0 otherwise
  */
 int
-cfg_tobin_bitmap256(void *reference, size_t bin_size,
-     const struct const_strarray *value) {
+cfg_tobin_bitmap256(void *reference, size_t bin_size, const struct const_strarray *value) {
   struct bitmap256 *bitmap;
   const char *ptr;
   int idx;
@@ -233,8 +225,7 @@ cfg_tobin_bitmap256(void *reference, size_t bin_size,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_tobin_bool(void *reference, size_t bin_size,
-    const struct const_strarray *value) {
+cfg_tobin_bool(void *reference, size_t bin_size, const struct const_strarray *value) {
   bool *ptr;
 
   if (bin_size != sizeof(*ptr)) {
@@ -256,8 +247,7 @@ cfg_tobin_bool(void *reference, size_t bin_size,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_tobin_stringlist(void *reference, size_t bin_size,
-    const struct const_strarray *value) {
+cfg_tobin_stringlist(void *reference, size_t bin_size, const struct const_strarray *value) {
   struct strarray *array;
 
   if (bin_size != sizeof(*array)) {
@@ -284,10 +274,8 @@ cfg_tobin_stringlist(void *reference, size_t bin_size,
  * @return 0 if conversion succeeded, -1 otherwise.
  */
 int
-cfg_tobin_tokens(void *reference,
-    const char *value,
-    struct cfg_schema_entry *entries, size_t entry_count,
-    struct cfg_schema_token_customizer *custom) {
+cfg_tobin_tokens(void *reference, const char *value, struct cfg_schema_entry *entries, size_t entry_count,
+  struct cfg_schema_token_customizer *custom) {
   struct const_strarray parameter;
   const char *next_token;
   char buffer[256];
@@ -298,7 +286,7 @@ cfg_tobin_tokens(void *reference,
   next_token = value;
 
   parameter.value = buffer;
-  for (i=0; i<entry_count-1; i++) {
+  for (i = 0; i < entry_count - 1; i++) {
     if (!next_token) {
       return -1;
     }
@@ -314,7 +302,7 @@ cfg_tobin_tokens(void *reference,
 
   if (next_token) {
     /* we have data for the last entry left */
-    i = entry_count-1;
+    i = entry_count - 1;
 
     parameter.value = next_token;
     parameter.length = strlen(next_token) + 1;
@@ -331,4 +319,3 @@ cfg_tobin_tokens(void *reference,
   }
   return 0;
 }
-
index e886c46..40b5cd0 100644 (file)
 #include "common/common_types.h"
 #include "common/string.h"
 
-EXPORT int cfg_tobin_strptr(
-    void *reference, size_t bin_size, const struct const_strarray *value);
-EXPORT int cfg_tobin_strarray(void *reference, size_t bin_size,
-    const struct const_strarray *value, size_t array_size);
-EXPORT int cfg_tobin_choice(void *reference, size_t bin_size,
-    const struct const_strarray *value,
-    const char *(*callback)(size_t idx, const void *ptr),
-    size_t choices_count, const void *ptr);
-EXPORT int cfg_tobin_int(void *reference, size_t bin_size,
-    const struct const_strarray *value, int fractions, size_t int_size);
-EXPORT int cfg_tobin_netaddr(void *reference, size_t bin_size,
-    const struct const_strarray *value);
-EXPORT int cfg_tobin_acl(void *reference, size_t bin_size,
-     const struct const_strarray *value);
-EXPORT int cfg_tobin_bitmap256(void *reference, size_t bin_size,
-     const struct const_strarray *value);
-EXPORT int cfg_tobin_bool(void *reference, size_t bin_size,
-    const struct const_strarray *value);
-EXPORT int cfg_tobin_stringlist(void *reference, size_t bin_size,
-    const struct const_strarray *value);
-EXPORT int cfg_tobin_tokens(void *reference, const char *value,
-    struct cfg_schema_entry *entries, size_t entry_count,
-    struct cfg_schema_token_customizer *custom);
+EXPORT int cfg_tobin_strptr(void *reference, size_t bin_size, const struct const_strarray *value);
+EXPORT int cfg_tobin_strarray(void *reference, size_t bin_size, const struct const_strarray *value, size_t array_size);
+EXPORT int cfg_tobin_choice(void *reference, size_t bin_size, const struct const_strarray *value,
+  const char *(*callback)(size_t idx, const void *ptr), size_t choices_count, const void *ptr);
+EXPORT int cfg_tobin_int(
+  void *reference, size_t bin_size, const struct const_strarray *value, int fractions, size_t int_size);
+EXPORT int cfg_tobin_netaddr(void *reference, size_t bin_size, const struct const_strarray *value);
+EXPORT int cfg_tobin_acl(void *reference, size_t bin_size, const struct const_strarray *value);
+EXPORT int cfg_tobin_bitmap256(void *reference, size_t bin_size, const struct const_strarray *value);
+EXPORT int cfg_tobin_bool(void *reference, size_t bin_size, const struct const_strarray *value);
+EXPORT int cfg_tobin_stringlist(void *reference, size_t bin_size, const struct const_strarray *value);
+EXPORT int cfg_tobin_tokens(void *reference, const char *value, struct cfg_schema_entry *entries, size_t entry_count,
+  struct cfg_schema_token_customizer *custom);
 
 #endif /* CFG_TOBIN_H_ */
index 2f8c46e..9650dc8 100644 (file)
 #include <errno.h>
 #include <stdio.h>
 
-#include "common/common_types.h"
 #include "common/autobuf.h"
 #include "common/bitmap256.h"
+#include "common/common_types.h"
 #include "common/isonumber.h"
 #include "common/netaddr.h"
 #include "common/netaddr_acl.h"
 
-#include "config/cfg_validate.h"
 #include "config/cfg.h"
+#include "config/cfg_validate.h"
 
 /**
  * Validate if a value against a specific printable string
  * @return 0 if value is valid, -1 otherwise
  */
 int
-cfg_validate_printable(struct autobuf *out, const char *section_name,
-    const char *entry_name, const char *value, size_t len) {
+cfg_validate_printable(
+  struct autobuf *out, const char *section_name, const char *entry_name, const char *value, size_t len) {
   if (cfg_validate_strlen(out, section_name, entry_name, value, len)) {
     return -1;
   }
   if (!str_is_printable(value)) {
     /* not a printable ascii character */
-    cfg_append_printable_line(out, "Value '%s' for entry '%s'"
-        " in section %s has non-printable characters",
-        value, entry_name, section_name);
+    cfg_append_printable_line(out,
+      "Value '%s' for entry '%s'"
+      " in section %s has non-printable characters",
+      value, entry_name, section_name);
     return -1;
   }
   return 0;
@@ -91,12 +92,13 @@ cfg_validate_printable(struct autobuf *out, const char *section_name,
  * @return 0 if value is valid, -1 otherwise
  */
 int
-cfg_validate_strlen(struct autobuf *out, const char *section_name,
-    const char *entry_name, const char *value, size_t len) {
+cfg_validate_strlen(
+  struct autobuf *out, const char *section_name, const char *entry_name, const char *value, size_t len) {
   if (strlen(value) > len) {
-    cfg_append_printable_line(out, "Value '%s' for entry '%s'"
-        " in section %s is longer than %"PRINTF_SIZE_T_SPECIFIER" characters",
-        value, entry_name, section_name, len);
+    cfg_append_printable_line(out,
+      "Value '%s' for entry '%s'"
+      " in section %s is longer than %" PRINTF_SIZE_T_SPECIFIER " characters",
+      value, entry_name, section_name, len);
     return -1;
   }
   return 0;
@@ -113,19 +115,18 @@ cfg_validate_strlen(struct autobuf *out, const char *section_name,
  * @return 0 if value is valid, -1 otherwise
  */
 int
-cfg_validate_choice(struct autobuf *out, const char *section_name,
-    const char *entry_name, const char *value,
-    const char *(*callback)(size_t idx, const void *ptr),
-    size_t choices_count, const void *ptr) {
+cfg_validate_choice(struct autobuf *out, const char *section_name, const char *entry_name, const char *value,
+  const char *(*callback)(size_t idx, const void *ptr), size_t choices_count, const void *ptr) {
   int i;
   i = cfg_get_choice_index(value, callback, choices_count, ptr);
   if (i >= 0) {
     return 0;
   }
 
-  cfg_append_printable_line(out, "Unknown value '%s'"
-      " for entry '%s' in section %s",
-      value, entry_name, section_name);
+  cfg_append_printable_line(out,
+    "Unknown value '%s'"
+    " for entry '%s' in section %s",
+    value, entry_name, section_name);
   return -1;
 }
 
@@ -142,26 +143,24 @@ cfg_validate_choice(struct autobuf *out, const char *section_name,
  * @return 0 if value is valid, -1 otherwise
  */
 int
-cfg_validate_int(struct autobuf *out, const char *section_name,
-    const char *entry_name, const char *value, int64_t min, int64_t max,
-    uint16_t bytelen, uint16_t fraction) {
+cfg_validate_int(struct autobuf *out, const char *section_name, const char *entry_name, const char *value, int64_t min,
+  int64_t max, uint16_t bytelen, uint16_t fraction) {
   int64_t i, min64, max64;
   struct isonumber_str hbuf;
 
   if (isonumber_to_s64(&i, value, fraction)) {
     if (fraction) {
-      cfg_append_printable_line(out, "Value '%s' for entry '%s'"
-          " in section %s is not a fractional %d-byte integer"
-          " with a maximum of %d fractional digits",
-          value, entry_name,
-          section_name,
-          bytelen, fraction);
+      cfg_append_printable_line(out,
+        "Value '%s' for entry '%s'"
+        " in section %s is not a fractional %d-byte integer"
+        " with a maximum of %d fractional digits",
+        value, entry_name, section_name, bytelen, fraction);
     }
     else {
-      cfg_append_printable_line(out, "Value '%s' for entry '%s'"
-          " in section %s is not a %d-byte integer.",
-          value, entry_name,
-          section_name, bytelen);
+      cfg_append_printable_line(out,
+        "Value '%s' for entry '%s'"
+        " in section %s is not a %d-byte integer.",
+        value, entry_name, section_name, bytelen);
     }
     return -1;
   }
@@ -170,24 +169,24 @@ cfg_validate_int(struct autobuf *out, const char *section_name,
   max64 = INT64_MAX >> (8 * (8 - bytelen));
 
   if (i < min64 || i > max64) {
-    cfg_append_printable_line(out, "Value '%s' for entry '%s' in section %s is "
-        "too %s for a %d-hyte integer with %d fractional digits",
-        value, entry_name, section_name,
-        i < min ? "small" : "large", bytelen, fraction);
+    cfg_append_printable_line(out,
+      "Value '%s' for entry '%s' in section %s is "
+      "too %s for a %d-hyte integer with %d fractional digits",
+      value, entry_name, section_name, i < min ? "small" : "large", bytelen, fraction);
   }
 
   if (i < min) {
-    cfg_append_printable_line(out, "Value '%s' for entry '%s' in section %s is "
-        "smaller than %s",
-        value, entry_name, section_name,
-        isonumber_from_s64(&hbuf, min, "", fraction, true));
+    cfg_append_printable_line(out,
+      "Value '%s' for entry '%s' in section %s is "
+      "smaller than %s",
+      value, entry_name, section_name, isonumber_from_s64(&hbuf, min, "", fraction, true));
     return -1;
   }
   if (i > max) {
-    cfg_append_printable_line(out, "Value '%s' for entry '%s' in section %s is "
-        "larger than %s",
-        value, entry_name, section_name,
-        isonumber_from_s64(&hbuf, min, "", fraction, true));
+    cfg_append_printable_line(out,
+      "Value '%s' for entry '%s' in section %s is "
+      "larger than %s",
+      value, entry_name, section_name, isonumber_from_s64(&hbuf, min, "", fraction, true));
     return -1;
   }
   return 0;
@@ -205,17 +204,17 @@ cfg_validate_int(struct autobuf *out, const char *section_name,
  * @return 0 if value is valid, -1 otherwise
  */
 int
-cfg_validate_netaddr(stru