1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-26 23:33:15 +03:00

passdb: Simplify pdb_gethexhours() with hex_byte()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
This commit is contained in:
Volker Lendecke
2024-09-10 08:55:16 +02:00
parent eaaba242a2
commit 0e29b1cfb0

View File

@@ -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);
}