From 0e29b1cfb085b51107e38dba3b6bc79b9250c9a4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 10 Sep 2024 08:55:16 +0200 Subject: [PATCH] passdb: Simplify pdb_gethexhours() with hex_byte() Signed-off-by: Volker Lendecke Reviewed-by: Noel Power --- source3/passdb/passdb.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c index 17b4b1d9dd4..f0ce8b2352d 100644 --- a/source3/passdb/passdb.c +++ b/source3/passdb/passdb.c @@ -470,29 +470,16 @@ void pdb_sethexhours(char *p, const unsigned char *hours) bool pdb_gethexhours(const char *p, unsigned char *hours) { int i; - unsigned char lonybble, hinybble; - const char *hexchars = "0123456789ABCDEF"; - char *p1, *p2; if (!p) { return (False); } for (i = 0; i < 42; i += 2) { - hinybble = toupper_m(p[i]); - lonybble = toupper_m(p[i + 1]); - - p1 = strchr(hexchars, hinybble); - p2 = strchr(hexchars, lonybble); - - if (!p1 || !p2) { - return (False); + bool ok = hex_byte(p, (uint8_t *)&hours[i / 2]); + if (!ok) { + return false; } - - hinybble = PTR_DIFF(p1, hexchars); - lonybble = PTR_DIFF(p2, hexchars); - - hours[i / 2] = (hinybble << 4) | lonybble; } return (True); } -- 2.47.2