mirror of https://gerrit.osmocom.org/libosmocore
Neels Hofmeyr
7c1ec8c8e7
Don't use CTRL_TYPE_UNKNOWN as value_string[] terminator, use an explicit, more obvious { 0, NULL } termination. Set an explicit string for CTRL_TYPE_UNKNOWN. No other value_string[]s to date have such a "hidden" terminator. BTW, a { 0, "string" } item is not a terminator, only { 0, NULL } is, so we can set a string for CTRL_TYPE_UNKNOWN == 0. Also, having a string value for CTRL_TYPE_UNKNOWN is not harmful because all code paths explicitly check for the CTRL_TYPE_*s that are valid. Adjust the test expectation. From the ctrl_type_vals enum, remove the = 0, because it is implicitly 0 anyway. One motivation to press this fixup: I am trying to add a script that checks whether all value_string[]s are terminated to our jenkins jobs, and to find that this one is terminated, it would need to interpret the CTRL_TYPE_UNKNOWN constant, which would make things far more complex. At this point, all of the value_string[]s have an explicit termination, and I would like to enforce this from now on -- for readable code and to not spend more time on the validator. The patch adding ctrl_type_vals (Icd4e96dd9f00876cb70b43cfcf42ab4f10311b28) was accepted by another reviewer before I could reconfirm my -1, so this is a fixup to enable the termination checking script patches. Related: I2bc93ab4781487e7685cfb63091a489cd126b1a8 (adds script to libosmocore) I7fe3678b524d602fc6aa14bc0ed06308df809a3e (uses in jenkins.sh) Icd4e96dd9f00876cb70b43cfcf42ab4f10311b28 (adds ctrl_type_vals) Change-Id: Ia99f37464c7b36b587da2cc78f52c82725f02cbc |
||
---|---|---|
.. | ||
codec | ||
coding | ||
ctrl | ||
gb | ||
gsm | ||
sim | ||
vty | ||
Makefile.am | ||
application.c | ||
backtrace.c | ||
bitcomp.c | ||
bits.c | ||
bitvec.c | ||
conv.c | ||
crc16.c | ||
crcXXgen.c.tpl | ||
fsm.c | ||
gsmtap_util.c | ||
logging.c | ||
logging_gsmtap.c | ||
logging_syslog.c | ||
loggingrb.c | ||
macaddr.c | ||
msgb.c | ||
msgfile.c | ||
panic.c | ||
plugin.c | ||
prim.c | ||
rate_ctr.c | ||
rbtree.c | ||
select.c | ||
serial.c | ||
signal.c | ||
socket.c | ||
stat_item.c | ||
statistics.c | ||
stats.c | ||
stats_statsd.c | ||
strrb.c | ||
timer.c | ||
timer_gettimeofday.c | ||
utils.c | ||
write_queue.c |