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;