libnm: add nm_utils_uuid_is_null() helper

This commit is contained in:
Thomas Haller
2018-10-31 10:38:01 +01:00
parent 4db431191c
commit 01239e99d7
3 changed files with 36 additions and 0 deletions

View File

@@ -295,6 +295,8 @@ char *_nm_utils_uuid_unparse (const NMUuid *uuid,
char *out_str /*[37]*/);
NMUuid *_nm_utils_uuid_generate_random (NMUuid *out_uuid);
gboolean nm_utils_uuid_is_null (const NMUuid *uuid);
#define NM_UTILS_UUID_TYPE_LEGACY 0
#define NM_UTILS_UUID_TYPE_VERSION3 3
#define NM_UTILS_UUID_TYPE_VERSION5 5

View File

@@ -2821,6 +2821,21 @@ _nm_utils_uuid_generate_random (NMUuid *out_uuid)
return out_uuid;
}
gboolean
nm_utils_uuid_is_null (const NMUuid *uuid)
{
int i;
if (!uuid)
return TRUE;
for (i = 0; i < G_N_ELEMENTS (uuid->uuid); i++) {
if (uuid->uuid[i])
return FALSE;
}
return TRUE;
}
/**
* nm_utils_uuid_generate_buf_:
* @buf: input buffer, must contain at least 37 bytes

View File

@@ -5445,6 +5445,16 @@ test_nm_strquote (void)
#define UUID_NS_OID "6ba7b812-9dad-11d1-80b4-00c04fd430c8"
#define UUID_NS_X500 "6ba7b814-9dad-11d1-80b4-00c04fd430c8"
static const NMUuid *
_uuid (const char *str)
{
static NMUuid u;
g_assert (str);
g_assert (_nm_utils_uuid_parse (str, &u));
return &u;
}
static void
_test_uuid (int uuid_type, const char *expected_uuid, const char *str, gssize slen, gpointer type_args)
{
@@ -5677,6 +5687,15 @@ __test_uuid (const char *expected_uuid, const char *str, gssize slen, char *uuid
static void
test_nm_utils_uuid_generate_from_strings (void)
{
const NMUuid uuid0 = { 0 };
g_assert_cmpmem (&uuid0, sizeof (uuid0), _uuid ("00000000-0000-0000-0000-000000000000"), 16);
g_assert (nm_utils_uuid_is_null (NULL));
g_assert (nm_utils_uuid_is_null (&uuid0));
g_assert ( nm_utils_uuid_is_null (_uuid ("00000000-0000-0000-0000-000000000000")));
g_assert (!nm_utils_uuid_is_null (_uuid ("10000000-0000-0000-0000-000000000000")));
_test_uuid ("b07c334a-399b-32de-8d50-58e4e08f98e3", "", 0, NULL);
_test_uuid ("b8a426cb-bcb5-30a3-bd8f-6786fea72df9", "\0", 1, "");
_test_uuid ("12a4a982-7aae-39e1-951e-41aeb1250959", "a\0", 2, "a");