glib-aux: implement nm_uuid_generate_from_strings_legacy() in terms of nm_uuid_generate_from_strings()

As the unit tests show, the behavior is the same.
This commit is contained in:
Thomas Haller 2022-09-28 12:08:16 +02:00
parent f849426b84
commit 871c82fd5f
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
2 changed files with 2 additions and 42 deletions

View file

@ -405,47 +405,6 @@ nm_uuid_generate_from_string_str(const char *s,
return nm_uuid_unparse(&uuid, g_new(char, 37));
}
/**
* nm_uuid_generate_from_strings_v3:
* @string1: a variadic list of strings. Must be NULL terminated.
*
* Returns a variant3 UUID based on the concatenated C strings.
* It does not simply concatenate them, but also includes the
* terminating '\0' character. For example "a", "b", gives
* "a\0b\0".
*
* This has the advantage, that the following invocations
* all give different UUIDs: (NULL), (""), ("",""), ("","a"), ("a",""),
* ("aa"), ("aa", ""), ("", "aa"), ...
*/
char *
nm_uuid_generate_from_strings_v3(const char *string1, ...)
{
if (!string1)
return nm_uuid_generate_from_string_str(NULL, 0, NM_UUID_TYPE_VERSION3, &nm_uuid_ns_1);
{
nm_auto_str_buf NMStrBuf str = NM_STR_BUF_INIT_A(NM_UTILS_GET_NEXT_REALLOC_SIZE_232, FALSE);
va_list args;
const char *s;
nm_str_buf_append_len(&str, string1, strlen(string1) + 1u);
va_start(args, string1);
s = va_arg(args, const char *);
while (s) {
nm_str_buf_append_len(&str, s, strlen(s) + 1u);
s = va_arg(args, const char *);
}
va_end(args);
return nm_uuid_generate_from_string_str(nm_str_buf_get_str_unsafe(&str),
str.len,
NM_UUID_TYPE_VERSION3,
&nm_uuid_ns_1);
}
}
/**
* nm_uuid_generate_from_strings_strv:
* @uuid_type: the UUID type to use. Prefer version 5 unless you have

View file

@ -130,7 +130,8 @@ char *nm_uuid_generate_from_strings_strv(NMUuidType uuid_type,
#define nm_uuid_generate_from_strings(uuid_type, type_args, ...) \
nm_uuid_generate_from_strings_strv((uuid_type), (type_args), NM_MAKE_STRV(__VA_ARGS__))
char *nm_uuid_generate_from_strings_v3(const char *string1, ...) G_GNUC_NULL_TERMINATED;
#define nm_uuid_generate_from_strings_v3(...) \
nm_uuid_generate_from_strings(NM_UUID_TYPE_VERSION3, &nm_uuid_ns_1, __VA_ARGS__)
/*****************************************************************************/