shared: add nm_ip4_addr_is_localhost() util

This commit is contained in:
Thomas Haller 2018-12-21 12:26:49 +01:00
parent c3f6356a39
commit 47123e493a
2 changed files with 20 additions and 0 deletions

View file

@ -140,6 +140,12 @@ nm_ip_addr_set (int addr_family, gpointer dst, gconstpointer src)
: sizeof (struct in6_addr));
}
static inline gboolean
nm_ip4_addr_is_localhost (in_addr_t addr4)
{
return (addr4 & htonl (0xFF000000u)) == htonl (0x7F000000u);
}
/*****************************************************************************/
#define NM_CMP_RETURN(c) \

View file

@ -204,6 +204,19 @@ test_nm_strndup_a (void)
/*****************************************************************************/
static void
test_nm_ip4_addr_is_localhost (void)
{
g_assert ( nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("127.0.0.0")));
g_assert ( nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("127.0.0.1")));
g_assert ( nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("127.5.0.1")));
g_assert (!nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("126.5.0.1")));
g_assert (!nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("128.5.0.1")));
g_assert (!nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("129.5.0.1")));
}
/*****************************************************************************/
NMTST_DEFINE ();
int main (int argc, char **argv)
@ -215,6 +228,7 @@ int main (int argc, char **argv)
g_test_add_func ("/general/test_nm_make_strv", test_make_strv);
g_test_add_func ("/general/test_nm_strdup_int", test_nm_strdup_int);
g_test_add_func ("/general/test_nm_strndup_a", test_nm_strndup_a);
g_test_add_func ("/general/test_nm_ip4_addr_is_localhost", test_nm_ip4_addr_is_localhost);
return g_test_run ();
}