blob: d03d81ca9994b31d9fab1594d0bb49865adf2b21 [file] [log] [blame]
/*
* Hash three letter week days to some number. The TDH hash table makes this
* into a perfect hash for us. See generate_hash.c.
*/
static int
tdhfunc(const char *s)
{
int i = 0;
int ret = 0;
while (i < 3)
{
int out = 0;
switch (s[i])
{
case 'S':
case 's':
out += (int)'s';
break;
case 'U':
case 'u':
out += (int)'u';
break;
case 'N':
case 'n':
out += (int)'n';
break;
case 'M':
case 'm':
out += (int)'m';
break;
case 'O':
case 'o':
out += (int)'o';
break;
case 'T':
case 't':
out += (int)'t';
break;
case 'E':
case 'e':
out += (int)'e';
break;
case 'W':
case 'w':
out += (int)'w';
break;
case 'D':
case 'd':
out += (int)'d';
break;
case 'H':
case 'h':
out += (int)'h';
break;
case 'F':
case 'f':
out += (int)'f';
break;
case 'R':
case 'r':
out += (int)'r';
break;
case 'I':
case 'i':
out += (int)'i';
break;
case 'A':
case 'a':
out += (int)'a';
break;
default:
return -1;
break;
}
ret += out;
i++;
}
return ret;
}