]> git.lizzy.rs Git - plan9front.git/blob - sys/src/liboventi/parsescore.c
libsec: use tsmemcmp() when comparing hashes, use mpfield() for ecc, use mptober...
[plan9front.git] / sys / src / liboventi / parsescore.c
1 #include <u.h>
2 #include <libc.h>
3 #include <oventi.h>
4
5 int
6 vtParseScore(char *buf, uint n, uchar score[VtScoreSize])
7 {
8         int i, c;
9
10         memset(score, 0, VtScoreSize);
11
12         if(n != VtScoreSize*2)
13                 return 0;
14         for(i=0; i<VtScoreSize*2; i++){
15                 if(buf[i] >= '0' && buf[i] <= '9')
16                         c = buf[i] - '0';
17                 else if(buf[i] >= 'a' && buf[i] <= 'f')
18                         c = buf[i] - 'a' + 10;
19                 else if(buf[i] >= 'A' && buf[i] <= 'F')
20                         c = buf[i] - 'A' + 10;
21                 else
22                         return 0;
23
24                 if((i & 1) == 0)
25                         c <<= 4;
26         
27                 score[i>>1] |= c;
28         }
29         return 1;
30 }
31