From 44452373e6afbdeeadcafe691079f2b188930665 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Thu, 4 Jun 2015 11:24:20 +0000 Subject: * network_io/unix/sockaddr.c (apr_parse_addr_port): Simplify to use apr_pstrmemdup, no functional change. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1683521 13f79535-47bb-0310-9956-ffa450edef68 --- network_io/unix/sockaddr.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'network_io') diff --git a/network_io/unix/sockaddr.c b/network_io/unix/sockaddr.c index 741707369..9963c56ba 100644 --- a/network_io/unix/sockaddr.c +++ b/network_io/unix/sockaddr.c @@ -277,19 +277,13 @@ APR_DECLARE(apr_status_t) apr_parse_addr_port(char **addr, return APR_EINVAL; } addrlen = scope_delim - str - 1; - *scope_id = apr_palloc(p, end_bracket - scope_delim); - memcpy(*scope_id, scope_delim + 1, end_bracket - scope_delim - 1); - (*scope_id)[end_bracket - scope_delim - 1] = '\0'; + *scope_id = apr_pstrmemdup(p, scope_delim, end_bracket - scope_delim - 1); } else { addrlen = addrlen - 2; /* minus 2 for '[' and ']' */ } - *addr = apr_palloc(p, addrlen + 1); - memcpy(*addr, - str + 1, - addrlen); - (*addr)[addrlen] = '\0'; + *addr = apr_pstrmemdup(p, str + 1, addrlen); if (apr_inet_pton(AF_INET6, *addr, &ipaddr) != 1) { *addr = NULL; *scope_id = NULL; @@ -303,9 +297,7 @@ APR_DECLARE(apr_status_t) apr_parse_addr_port(char **addr, /* XXX If '%' is not a valid char in a DNS name, we *could* check * for bogus scope ids first. */ - *addr = apr_palloc(p, addrlen + 1); - memcpy(*addr, str, addrlen); - (*addr)[addrlen] = '\0'; + *addr = apr_pstrmemdup(p, str, addrlen); } return APR_SUCCESS; } -- cgit v1.2.1