home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 December
/
simtel1292_SIMTEL_1292_Walnut_Creek.iso
/
msdos
/
small_c
/
sc88.arc
/
XTOI.C
< prev
Wrap
Text File
|
1987-10-04
|
768b
|
26 lines
#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);
}
}