home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_11_03
/
1103088a
< prev
next >
Wrap
Text File
|
1993-01-06
|
644b
|
21 lines
#define NUMVAL(x) (x - '0')
#define TONUM(x) NUMVAL(x)
#define TODIGIT(x) (x + '0')
static char trconst[] = {'3', '7', '1', '3',
'7', '1', '3', '7'};
char calc_check_digit (char * trnum)
{
int sum, val;
int i;
for ( sum = i = 0 ; i < 8 ; i++)
{
sum += TONUM (trnum[i]) * TONUM (trconst[i]);
}
val = 10 - (sum % 10);
if (val == 10)
val = 0;
return (TODIGIT (val));
}