annotate librftab/smallconv.c @ 1011:6d9b10633f10 default tip

etmsync Pirelli IMEI retrieval: fix poor use of printf() Bug reported by Vadim Yanitskiy <fixeria@osmocom.org>: the construct where a static-allocated string was passed to printf() without any format arguments causes newer compilers to report a security problem. Given that formatted output is not needed here, just fixed string output, change printf() to fputs(), and direct the error message to stderr while at it.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 23 May 2024 17:29:57 +0000
parents b73c21a2148f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
142
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * /gsm/rf/afcdac and /gsm/rf/stdmap each store a single 16-bit value,
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * and are not tables in the rftw/rftr sense, hence the code in rftablewr.c
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * does not handle these two. However, in fc-cal2text we would like to
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * handle their conversion from binary to ASCII the same way as the bigger
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * tables, hence the two functions in this module.
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 */
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <sys/types.h>
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <stdio.h>
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include <stdint.h>
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #include <endian.h>
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 void
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 write_afcdac_ascii(bin, outf)
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 uint16_t *bin;
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 FILE *outf;
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 {
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 int i;
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 i = le16toh(*bin);
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 if (i >= 32768)
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 i -= 65536;
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 fprintf(outf, "%d\n", i);
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 }
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 void
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 write_stdmap_ascii(bin, outf)
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 uint16_t *bin;
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 FILE *outf;
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 {
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 int i;
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 i = le16toh(*bin);
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 fprintf(outf, "0x%04X\n", i);
d41edd329670 fc-cal2text utility written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 }