FreeCalypso > hg > fc-pcsc-tools
diff offline/sim-iccid-mkfull.c @ 163:4cd2023f56a6
sim-iccid-mkfull utility created, compiles
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 26 Feb 2021 21:32:41 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/offline/sim-iccid-mkfull.c Fri Feb 26 21:32:41 2021 +0000 @@ -0,0 +1,30 @@ +/* + * This program is a special utility for constructing ICCIDs + * following the 18+1 convention. The argument is an 18-digit ICCID + * base, usually entered in shorthand, and the output is the full + * 19-digit ICCID. + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> + +main(argc, argv) + char **argv; +{ + u_char digits[19]; + char asc[20]; + int rc; + + if (argc != 2) { + fprintf(stderr, "usage: %s shorthand-iccid\n", argv[0]); + exit(1); + } + rc = parse_decimal_shorthand(argv[1], digits, 18); + if (rc < 0) + exit(1); /* error msg already printed */ + digits[18] = compute_iccid_luhn(digits); + nibbles_to_ascii(digits, 19, asc); + puts(asc); + exit(0); +}