annotate libcommon/plmncodes.c @ 79:b0982c0cf54d

EF select logic: detect invalid record count > 255
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 17 Feb 2021 05:21:34 +0000
parents 4eb447be01c0
children d2e800abd257
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
53
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module implements some functions for working with MCC-MNC PLMN codes.
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 #include <sys/types.h>
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 decode_plmn_3bytes(bin, asc, space_pad)
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 u_char *bin;
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 char *asc;
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 {
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 asc[0] = encode_hex_digit(bin[0] & 0xF);
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 asc[1] = encode_hex_digit(bin[0] >> 4);
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 asc[2] = encode_hex_digit(bin[1] & 0xF);
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 asc[3] = '-';
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 asc[4] = encode_hex_digit(bin[2] & 0xF);
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 asc[5] = encode_hex_digit(bin[2] >> 4);
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 asc[6] = encode_hex_digit(bin[1] >> 4);
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 asc[7] = '\0';
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 if (asc[6] == 'F') {
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 if (space_pad)
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 asc[6] = ' ';
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 else
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 asc[6] = '\0';
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 }
4eb447be01c0 fc-simtool plmnsel-dump implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 }