mirror of https://gerrit.osmocom.org/libosmocore
Expand bit pretty-printer
Add OSMO_BIT_PRINT_EX() which is like OSMO_BIT_PRINT() but allows to specify character to be printed for set bits. It's useful to print bytes used as mask where set bit has particular semantics - for example TS mask in OsmoPCU. Change-Id: I72528bc1e376134c5a7b6e7a50c48e38c3f48b0a Related: OS#2282
This commit is contained in:
parent
98f6482ec7
commit
a52d839343
|
@ -69,15 +69,17 @@ int osmo_pbit2ubit_ext(ubit_t *out, unsigned int out_ofs,
|
|||
(byte & 0x01 ? 1 : 0)
|
||||
|
||||
#define OSMO_BIT_SPEC "%c%c%c%c%c%c%c%c"
|
||||
#define OSMO_BIT_PRINT(byte) \
|
||||
(byte & 0x80 ? '1' : '.'), \
|
||||
(byte & 0x40 ? '1' : '.'), \
|
||||
(byte & 0x20 ? '1' : '.'), \
|
||||
(byte & 0x10 ? '1' : '.'), \
|
||||
(byte & 0x08 ? '1' : '.'), \
|
||||
(byte & 0x04 ? '1' : '.'), \
|
||||
(byte & 0x02 ? '1' : '.'), \
|
||||
(byte & 0x01 ? '1' : '.')
|
||||
#define OSMO_BIT_PRINT_EX(byte, ch) \
|
||||
(byte & 0x80 ? ch : '.'), \
|
||||
(byte & 0x40 ? ch : '.'), \
|
||||
(byte & 0x20 ? ch : '.'), \
|
||||
(byte & 0x10 ? ch : '.'), \
|
||||
(byte & 0x08 ? ch : '.'), \
|
||||
(byte & 0x04 ? ch : '.'), \
|
||||
(byte & 0x02 ? ch : '.'), \
|
||||
(byte & 0x01 ? ch : '.')
|
||||
|
||||
#define OSMO_BIT_PRINT(byte) OSMO_BIT_PRINT_EX(byte, '1')
|
||||
|
||||
/* BIT REVERSAL */
|
||||
|
||||
|
|
Loading…
Reference in New Issue