Blame


1 a0d146ed 2005-07-12 devnull #include "stdinc.h"
2 a0d146ed 2005-07-12 devnull #include "dat.h"
3 a0d146ed 2005-07-12 devnull #include "fns.h"
4 a0d146ed 2005-07-12 devnull
5 a0d146ed 2005-07-12 devnull u8int zeroscore[VtScoreSize];
6 a0d146ed 2005-07-12 devnull
7 ef609927 2007-05-03 devnull /* Call this function to force linking of score.o for zeroscore on OS X */
8 ef609927 2007-05-03 devnull void needzeroscore(void) { }
9 ef609927 2007-05-03 devnull
10 a0d146ed 2005-07-12 devnull void
11 a0d146ed 2005-07-12 devnull scoremem(u8int *score, u8int *buf, int n)
12 a0d146ed 2005-07-12 devnull {
13 a0d146ed 2005-07-12 devnull DigestState s;
14 a0d146ed 2005-07-12 devnull
15 a0d146ed 2005-07-12 devnull memset(&s, 0, sizeof s);
16 a0d146ed 2005-07-12 devnull sha1(buf, n, score, &s);
17 a0d146ed 2005-07-12 devnull }
18 a0d146ed 2005-07-12 devnull
19 a0d146ed 2005-07-12 devnull static int
20 a0d146ed 2005-07-12 devnull hexv(int c)
21 a0d146ed 2005-07-12 devnull {
22 a0d146ed 2005-07-12 devnull if(c >= '0' && c <= '9')
23 a0d146ed 2005-07-12 devnull return c - '0';
24 a0d146ed 2005-07-12 devnull if(c >= 'a' && c <= 'f')
25 a0d146ed 2005-07-12 devnull return c - 'a' + 10;
26 a0d146ed 2005-07-12 devnull if(c >= 'A' && c <= 'F')
27 a0d146ed 2005-07-12 devnull return c - 'A' + 10;
28 a0d146ed 2005-07-12 devnull return -1;
29 a0d146ed 2005-07-12 devnull }
30 a0d146ed 2005-07-12 devnull
31 a0d146ed 2005-07-12 devnull int
32 a0d146ed 2005-07-12 devnull strscore(char *s, u8int *score)
33 a0d146ed 2005-07-12 devnull {
34 a0d146ed 2005-07-12 devnull int i, c, d;
35 a0d146ed 2005-07-12 devnull
36 a0d146ed 2005-07-12 devnull for(i = 0; i < VtScoreSize; i++){
37 a0d146ed 2005-07-12 devnull c = hexv(s[2 * i]);
38 a0d146ed 2005-07-12 devnull if(c < 0)
39 a0d146ed 2005-07-12 devnull return -1;
40 a0d146ed 2005-07-12 devnull d = hexv(s[2 * i + 1]);
41 a0d146ed 2005-07-12 devnull if(d < 0)
42 a0d146ed 2005-07-12 devnull return -1;
43 a0d146ed 2005-07-12 devnull score[i] = (c << 4) + d;
44 a0d146ed 2005-07-12 devnull }
45 a0d146ed 2005-07-12 devnull return s[2 * i] == '\0';
46 a0d146ed 2005-07-12 devnull }