From 731d251cc08f5f5d01526cf220f61963f1c43fa7 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Sun, 17 Mar 2019 13:38:07 +0100 Subject: [PATCH] shared: don't implement nm_utils_parse_inaddr() based on nm_utils_parse_inaddr_bin() nm_utils_parse_inaddr() is trivial enough to reimplement it, instead of calling nm_utils_parse_inaddr_bin(). Calling nm_utils_parse_inaddr_bin() involves several things that don't matter for nm_utils_parse_inaddr() -- like assigning out_addr_family or returning the binary address. --- shared/nm-utils/nm-shared-utils.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/shared/nm-utils/nm-shared-utils.c b/shared/nm-utils/nm-shared-utils.c index 93e0b97e20..5e4ba0d2ab 100644 --- a/shared/nm-utils/nm-shared-utils.c +++ b/shared/nm-utils/nm-shared-utils.c @@ -635,8 +635,16 @@ nm_utils_parse_inaddr (int addr_family, NMIPAddr addrbin; char addrstr_buf[MAX (INET_ADDRSTRLEN, INET6_ADDRSTRLEN)]; - if (!nm_utils_parse_inaddr_bin (addr_family, text, &addr_family, &addrbin)) + g_return_val_if_fail (text, FALSE); + + if (addr_family == AF_UNSPEC) + addr_family = strchr (text, ':') ? AF_INET6 : AF_INET; + else + g_return_val_if_fail (NM_IN_SET (addr_family, AF_INET, AF_INET6), FALSE); + + if (inet_pton (addr_family, text, &addrbin) != 1) return FALSE; + NM_SET_OUT (out_addr, g_strdup (inet_ntop (addr_family, &addrbin, addrstr_buf, sizeof (addrstr_buf)))); return TRUE; }