| 438 | |
| 439 | |
| 440 | inline static int hexstr2int(char *c, int len, unsigned int *val) |
| 441 | { |
| 442 | char *pc; |
| 443 | int r; |
| 444 | char mychar; |
| 445 | |
| 446 | r=0; |
| 447 | for (pc=c; pc<c+len; pc++) { |
| 448 | r <<= 4 ; |
| 449 | mychar=*pc; |
| 450 | if ( mychar >='0' && mychar <='9') r+=mychar -'0'; |
| 451 | else if (mychar >='a' && mychar <='f') r+=mychar -'a'+10; |
| 452 | else if (mychar >='A' && mychar <='F') r+=mychar -'A'+10; |
| 453 | else return -1; |
| 454 | } |
| 455 | *val = r; |
| 456 | return 0; |
| 457 | } |
| 458 | |
| 459 | |
| 460 | /* double output length assumed ; does NOT zero-terminate */ |
no outgoing calls
no test coverage detected