int l[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 }; int c_luhn2( char *s ) { return (( l[ (int)s[ 0] ] + s[ 1] + l[ (int)s[ 2] ] + s[ 3] + l[ (int)s[ 4] ] + s[ 5] + l[ (int)s[ 6] ] + s[ 7] + l[ (int)s[ 8] ] + s[ 9] + l[ (int)s[10] ] + s[11] + l[ (int)s[12] ] + s[13] + l[ (int)s[14] ] - 7 * '0' ) * 9) % 10; }