MINOR: log: add dup_logsrv() helper function
ease code maintenance by introducing dup_logsrv() helper function to
properly duplicate an existing logsrv struct.
(cherry picked from commit 969e212c663dbbfae4b432413f8363072c0834a5)
[ad: picked for two next following patches. Some context adjustment
required]
Signed-off-by: Amaury Denoyelle <adenoyelle@haproxy.com>
diff --git a/src/proxy.c b/src/proxy.c
index 23170d9..29680d3 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -1858,19 +1858,13 @@
/* copy default logsrvs to curproxy */
list_for_each_entry(tmplogsrv, &defproxy->logsrvs, list) {
- struct logsrv *node = malloc(sizeof(*node));
+ struct logsrv *node = dup_logsrv(tmplogsrv);
if (!node) {
memprintf(errmsg, "proxy '%s': out of memory", curproxy->id);
return 1;
}
- memcpy(node, tmplogsrv, sizeof(struct logsrv));
- node->ref = tmplogsrv->ref;
- LIST_INIT(&node->list);
LIST_APPEND(&curproxy->logsrvs, &node->list);
- node->ring_name = tmplogsrv->ring_name ? strdup(tmplogsrv->ring_name) : NULL;
- node->conf.file = strdup(tmplogsrv->conf.file);
- node->conf.line = tmplogsrv->conf.line;
}
curproxy->conf.uniqueid_format_string = defproxy->conf.uniqueid_format_string;