From: Volker Lendecke Date: Tue, 10 Sep 2024 06:55:16 +0000 (+0200) Subject: passdb: Simplify pdb_gethexhours() with hex_byte() X-Git-Tag: tdb-1.4.13~1190 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=0e29b1cfb085b51107e38dba3b6bc79b9250c9a4;p=thirdparty%2Fsamba.git passdb: Simplify pdb_gethexhours() with hex_byte() Signed-off-by: Volker Lendecke Reviewed-by: Noel Power --- 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); }