FreeCalypso > hg > freecalypso-tools
annotate uptools/libcoding/scaddr.c @ 441:1dcc9e4b71fd
target-utils/calversion: program written, compiles
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Wed, 26 Dec 2018 06:40:02 +0000 | 
| parents | ea41b6001848 | 
| children | 
| rev | line source | 
|---|---|
| 332 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * This library module contains the code that figures out how many digits | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * are there in a PDU-encoded Service Centre address. | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 */ | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 #include <sys/types.h> | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 sc_addr_ndigits(sca) | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 u_char *sca; | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 { | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 unsigned nb, nd; | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 nb = sca[0]; | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 nd = (nb - 1) * 2; | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 if ((sca[nb] & 0xF0) == 0xF0) | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 nd--; | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 return nd; | 
| 
ea41b6001848
uptools/libcoding: SC address decoding implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 } | 
