summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@torproject.org>2012-08-31 23:02:19 +0200
committerNick Mathewson <nickm@torproject.org>2012-09-04 12:03:42 -0400
commit585ef0697811e7d62ab17142c8eed2f9372cd074 (patch)
tree7440ac60a7cf721561c4387951ee18b71f1a1239
parent68901da5a1dcfb210f7e8210af0b63c6161f9b63 (diff)
downloadtor-585ef0697811e7d62ab17142c8eed2f9372cd074.tar.gz
tor-585ef0697811e7d62ab17142c8eed2f9372cd074.zip
Add tor_addr_port_new().
-rw-r--r--src/common/address.c12
-rw-r--r--src/common/address.h2
-rw-r--r--src/or/dirvote.c4
3 files changed, 16 insertions, 2 deletions
diff --git a/src/common/address.c b/src/common/address.c
index e88869f1d8..e5862be1e9 100644
--- a/src/common/address.c
+++ b/src/common/address.c
@@ -1697,3 +1697,15 @@ tor_addr_hostname_is_local(const char *name)
!strcasecmpend(name, ".local");
}
+
+/** Return a newly allocated tor_addr_port_t with <b>addr</b> and
+ <b>port</b> filled in. */
+tor_addr_port_t *
+tor_addr_port_new(const tor_addr_t *addr, uint16_t port)
+{
+ tor_addr_port_t *ap = tor_malloc_zero(sizeof(tor_addr_port_t));
+ if (addr)
+ tor_addr_copy(&ap->addr, addr);
+ ap->port = port;
+ return ap;
+}
diff --git a/src/common/address.h b/src/common/address.h
index c6c126862a..27dff66204 100644
--- a/src/common/address.h
+++ b/src/common/address.h
@@ -221,5 +221,7 @@ int tor_inet_ntoa(const struct in_addr *in, char *buf, size_t buf_len);
char *tor_dup_ip(uint32_t addr) ATTR_MALLOC;
int get_interface_address(int severity, uint32_t *addr);
+tor_addr_port_t *tor_addr_port_new(const tor_addr_t *addr, uint16_t port);
+
#endif
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index e6601cffb7..2c9e56d7af 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -479,8 +479,8 @@ compute_routerstatus_consensus(smartlist_t *votes, int consensus_method,
if (compare_vote_rs(most, rs) == 0 &&
!tor_addr_is_null(&rs->status.ipv6_addr)
&& rs->status.ipv6_orport) {
- smartlist_add(alt_orports, tor_addr_port_alloc(&rs->status.ipv6_addr,
- rs->status.ipv6_orport));
+ smartlist_add(alt_orports, tor_addr_port_new(&rs->status.ipv6_addr,
+ rs->status.ipv6_orport));
log_debug(LD_DIR, "picking %s:%d (%s) for voting on \"a\" lines", /* FIXME: remove */
fmt_and_decorate_addr(&rs->status.ipv6_addr), rs->status.ipv6_orport,
rs->status.nickname);