From: Ján Tomko Date: Sun, 23 Feb 2020 19:58:53 +0000 (+0100) Subject: util: uuid: remove use of virHexToBin X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6ac33f22fd6f9ff297b6f5ffd8a38b9321bdb02c;p=libvirt.git util: uuid: remove use of virHexToBin Prefer g_ascii_xdigit_value to virHexToBin. Check the return value of the function and remove the g_ascii_isxdigit calls, since they're done anyway internally. Signed-off-by: Ján Tomko Reviewed-by: Laine Stump --- diff --git a/src/util/viruuid.c b/src/util/viruuid.c index c8ee59beee..908b09945d 100644 --- a/src/util/viruuid.c +++ b/src/util/viruuid.c @@ -29,7 +29,6 @@ #include #include "internal.h" -#include "virutil.h" #include "virerror.h" #include "virlog.h" #include "viralloc.h" @@ -105,6 +104,7 @@ virUUIDParse(const char *uuidstr, unsigned char *uuid) cur++; for (i = 0; i < VIR_UUID_BUFLEN;) { + int val; uuid[i] = 0; if (*cur == 0) return -1; @@ -112,16 +112,15 @@ virUUIDParse(const char *uuidstr, unsigned char *uuid) cur++; continue; } - if (!g_ascii_isxdigit(*cur)) + if ((val = g_ascii_xdigit_value(*cur)) < 0) return -1; - uuid[i] = virHexToBin(*cur); - uuid[i] *= 16; + uuid[i] = 16 * val; cur++; if (*cur == 0) return -1; - if (!g_ascii_isxdigit(*cur)) + if ((val = g_ascii_xdigit_value(*cur)) < 0) return -1; - uuid[i] += virHexToBin(*cur); + uuid[i] += val; i++; cur++; }