diff options
author | Oliver Smith <osmith@sysmocom.de> | 2018-12-21 10:18:28 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2018-12-21 13:13:11 +0100 |
commit | 19742408cf3d83bb67e4b8c2fc3b0cbbee7bee59 (patch) | |
tree | ed055dde1b3982298221d869b92fe243625083da | |
parent | e8c3b1bc0b459a94aa490743e8e1320185e48473 (diff) |
GSUP: add end marker to enum osmo_gsup_iei
Simplify gsup_test.c by defining an end marker in gsup.h. No need to
manually update the last element every time anymore.
The C standard guarantees, that the end marker will have the last value
plus one: "Each subsequent enumerator with no = defines its enumeration
constant as the value of the constant expression obtained by adding 1 to
the value of the previous enumeration constant." (From C99: 6.7.2.2
Enumeration specifiers)
Change-Id: I2aab7245e209f0ebd2f33a83d4d181dd3339cb17
-rw-r--r-- | include/osmocom/gsm/gsup.h | 2 | ||||
-rw-r--r-- | tests/gsup/gsup_test.c | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h index 51871e44..37e474c2 100644 --- a/include/osmocom/gsm/gsup.h +++ b/include/osmocom/gsm/gsup.h @@ -98,6 +98,8 @@ enum osmo_gsup_iei { OSMO_GSUP_SM_RP_CAUSE_IE = 0x44, OSMO_GSUP_SM_RP_MMS_IE = 0x45, OSMO_GSUP_SM_ALERT_RSN_IE = 0x46, + + _OSMO_GSUP_IEI_END_MARKER }; /*! GSUP message type */ diff --git a/tests/gsup/gsup_test.c b/tests/gsup/gsup_test.c index b3a8c772..079a7031 100644 --- a/tests/gsup/gsup_test.c +++ b/tests/gsup/gsup_test.c @@ -401,11 +401,7 @@ static void test_gsup_messages_dec_enc(void) osmo_hexdump(t->data + j, ie_end - j)); OSMO_ASSERT(j <= ie_end - 2); - /** - * FIXME: share the maximal IE value somehow - * in order to avoid manual updating of this - */ - OSMO_ASSERT(t->data[j+0] <= OSMO_GSUP_SM_ALERT_RSN_IE); + OSMO_ASSERT(t->data[j+0] < _OSMO_GSUP_IEI_END_MARKER); OSMO_ASSERT(t->data[j+1] <= ie_end - j - 2); ie_end = j; |