FreeCalypso > hg > fc-sim-tools
view libutil/revnibbles.c @ 53:fbedb67d234f
serial: fix parity for inverse coding convention
Important note: it is my (Mother Mychaela's) understanding that
SIM cards with inverse coding convention are extremely rare,
and I have never seen such a card. Therefore, our support for
the inverse coding convention will likely remain forever untested.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 21 Mar 2021 20:46:09 +0000 |
parents | 34bbb0585cab |
children |
line wrap: on
line source
/* * This module implements some reversed-nibbles parsing functions. */ #include <sys/types.h> decode_reversed_nibbles(bytes, nbytes, dest) u_char *bytes; unsigned nbytes; char *dest; { u_char *sp; char *dp; unsigned n, c; sp = bytes; dp = dest; for (n = 0; n < nbytes; n++) { c = *sp & 0xF; *dp++ = encode_hex_digit(c); c = *sp >> 4; *dp++ = encode_hex_digit(c); sp++; } } pack_reversed_nibbles(nibbles, bytes, nbytes) u_char *nibbles, *bytes; unsigned nbytes; { u_char *sp, *dp; unsigned n; sp = nibbles; dp = bytes; for (n = 0; n < nbytes; n++) { *dp++ = sp[0] | (sp[1] << 4); sp += 2; } }