in src/utils.c [39:82]
void amcl_hex2bin(const char *src, char *dst, size_t src_len)
{
char v;
char c;
for (size_t i = 0; i < src_len/2; i++)
{
c = src[2*i];
if (c >= '0' && c <= '9')
{
v = c - '0';
}
else if (c >= 'A' && c <= 'F')
{
v = c - 'A' + 10;
}
else if (c >= 'a' && c <= 'f')
{
v = c - 'a' + 10;
}
else
{
v = 0;
}
v <<= 4;
c = src[2*i + 1];
if (c >= '0' && c <= '9')
{
v += c - '0';
}
else if (c >= 'A' && c <= 'F')
{
v += c - 'A' + 10;
}
else if (c >= 'a' && c <= 'f')
{
v += c - 'a' + 10;
}
else
{
v = 0;
}
dst[i] = v;
}
}