1 #include <u.h> 2 #include <libc.h> 3 #include <oventi.h> 4 5 int vtParseScore(char * buf,uint n,uchar score[VtScoreSize])6vtParseScore(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 32