+int get_config_address(config_t *cfg, ipv4_t **result)
+{
+ ipv4_t *ip;
+cp
+ if(!cfg)
+ return 0;
+
+ ip = xmalloc(sizeof(*ip));
+ *ip = str2address(cfg->value);
+
+ if(ip)
+ {
+ *result = ip;
+ return 1;
+ }
+
+ syslog(LOG_ERR, _("IP address expected for configuration variable %s in %s line %d"),
+ cfg->variable, cfg->file, cfg->line);
+ return 0;
+}
+
+int get_config_port(config_t *cfg, port_t *result)
+{
+cp
+ if(!cfg)
+ return 0;
+
+ if(sscanf(cfg->value, "%hu", result) == 1)
+ return 1;
+
+ syslog(LOG_ERR, _("Port number expected for configuration variable %s in %s line %d"),
+ cfg->variable, cfg->file, cfg->line);
+ return 0;
+}
+