From 6ac33f22fd6f9ff297b6f5ffd8a38b9321bdb02c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Sun, 23 Feb 2020 20:58:53 +0100 Subject: [PATCH] util: uuid: remove use of virHexToBin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/util/viruuid.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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++; } -- GitLab