mirror of
https://github.com/systemd/systemd.git
synced 2025-03-08 08:58:27 +03:00
sd-id128: handle NULL return parameter in sd_id128_from_string() nicer
If the return parameter is NULL, simply validate the string, and return no error.
This commit is contained in:
parent
e042eab720
commit
9ca8d43479
@ -74,13 +74,11 @@
|
||||
lowercase hexadecimal digits and be terminated by a
|
||||
<constant>NUL</constant> byte.</para>
|
||||
|
||||
<para><function>sd_id128_from_string()</function> implements the
|
||||
reverse operation: it takes a 33 character string with 32
|
||||
hexadecimal digits (either lowercase or uppercase, terminated by
|
||||
<constant>NUL</constant>) and parses them back into a 128-bit ID
|
||||
returned in <parameter>ret</parameter>. Alternatively, this call
|
||||
can also parse a 37-character string with a 128-bit ID formatted
|
||||
as RFC UUID.</para>
|
||||
<para><function>sd_id128_from_string()</function> implements the reverse operation: it takes a 33 character string
|
||||
with 32 hexadecimal digits (either lowercase or uppercase, terminated by <constant>NUL</constant>) and parses them
|
||||
back into a 128-bit ID returned in <parameter>ret</parameter>. Alternatively, this call can also parse a
|
||||
37-character string with a 128-bit ID formatted as RFC UUID. If <parameter>ret</parameter> is passed as NULL the
|
||||
function will validate the passed ID string, but not actually return it in parsed form.</para>
|
||||
|
||||
<para>For more information about the <literal>sd_id128_t</literal>
|
||||
type see
|
||||
|
@ -52,7 +52,6 @@ _public_ int sd_id128_from_string(const char s[], sd_id128_t *ret) {
|
||||
bool is_guid = false;
|
||||
|
||||
assert_return(s, -EINVAL);
|
||||
assert_return(ret, -EINVAL);
|
||||
|
||||
for (n = 0, i = 0; n < 16;) {
|
||||
int a, b;
|
||||
@ -90,7 +89,8 @@ _public_ int sd_id128_from_string(const char s[], sd_id128_t *ret) {
|
||||
if (s[i] != 0)
|
||||
return -EINVAL;
|
||||
|
||||
*ret = t;
|
||||
if (ret)
|
||||
*ret = t;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user