home *** CD-ROM | disk | FTP | other *** search
- #include stdio.h
- /*
- ** xtoi -- convert hex string to integer nbr
- ** returns field size, else ERR on error
- */
- xtoi(hexstr, nbr) char *hexstr; int *nbr; {
- int d, b; char *cp;
- d = *nbr = 0; cp = hexstr;
- while(*cp == '0') ++cp;
- while(1) {
- switch(*cp) {
- case '0': case '1': case '2':
- case '3': case '4': case '5':
- case '6': case '7': case '8':
- case '9': b=48; break;
- case 'A': case 'B': case 'C':
- case 'D': case 'E': case 'F': b=55; break;
- case 'a': case 'b': case 'c':
- case 'd': case 'e': case 'f': b=87; break;
- default: return (cp - hexstr);
- }
- if(d < 4) ++d; else return (ERR);
- *nbr = (*nbr << 4) + (*cp++ - b);
- }
- }