MINOR: connection: make sockaddr_alloc() take the address to be copied

Roughly half of the calls to sockadr_alloc() are made to copy an already
known address. Let's optionally pass it in argument so that the function
can handle the copy at the same time, this slightly simplifies its usage.
diff --git a/src/hlua.c b/src/hlua.c
index e7cac65..9616a75 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -2564,11 +2564,10 @@
 	si = appctx->owner;
 	s = si_strm(si);
 
-	if (!sockaddr_alloc(&s->target_addr)) {
+	if (!sockaddr_alloc(&s->target_addr, addr, sizeof(*addr))) {
 		xref_unlock(&socket->xref, peer);
 		WILL_LJMP(luaL_error(L, "connect: internal error"));
 	}
-	*s->target_addr = *addr;
 	s->flags |= SF_ADDR_SET;
 
 	hlua = hlua_gethlua(L);