#include bool parse_hex_digit(char digit, char *out) { if (digit >= '0' && digit <= '9') { *out = digit - '0'; return true; } if (digit >= 'a' && digit <= 'f') { *out = digit - 'a' + 10; return true; } if (digit >= 'A' && digit <= 'F') { *out = digit - 'A' + 10; return true; } return false; }