index 95276264ae104174c2fde573560cc0bf700253cb..af733534fda41e741f5b28c86dc8711b8239ce14 100644 (file)
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif /* HAVE_CONFIG_H */
+
#include "tools/sysdbd/configfile.h"
#include "sysdb.h"
return -1;
}
- tmp[listen_addresses_num] = strdup(address);
- if (! tmp[listen_addresses_num]) {
+ listen_addresses = tmp;
+ listen_addresses[listen_addresses_num] = strdup(address);
+ if (! listen_addresses[listen_addresses_num]) {
char buf[1024];
sdb_log(SDB_LOG_ERR, "config: Failed to allocate memory: %s",
sdb_strerror(errno, buf, sizeof(buf)));
return -1;
}
- listen_addresses = tmp;
++listen_addresses_num;
return 0;
} /* daemon_add_listener */
if (oconfig_get_string(ci, &name)) {
sdb_log(SDB_LOG_ERR, "config: %s requires a single "
"string argument\n"
- "\tUsage: LoadBackend BACKEND",
- ci->key);
+ "\tUsage: <%s NAME>...</%s>",
+ ci->key, ci->key, ci->key);
return ERR_INVALID_ARG;
}
* public API
*/
+void
+daemon_free_listen_addresses(void)
+{
+ size_t i;
+
+ if (! listen_addresses)
+ return;
+
+ for (i = 0; i < listen_addresses_num; ++i)
+ free(listen_addresses[i]);
+ free(listen_addresses);
+
+ listen_addresses = NULL;
+ listen_addresses_num = 0;
+} /* daemon_free_listen_addresses */
+
int
daemon_parse_config(const char *filename)
{
retval = status;
}
}
+
+ oconfig_free(ci);
return retval;
} /* daemon_parse_config */