From 1605c8a18b940e0811a2b7d5a0c1448b38b42671 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Wed, 28 Apr 2021 17:22:57 +0200 Subject: [PATCH] select_codecs(): do not confuse bool 'true' with integer value 1 In practice, '+ true' may result in '+ 1', but that is not type safe. We rely on the number of items added by summing up booleans, rather make it explicitly 1. Change-Id: I17a82f4f208203b748ba2d6ace0ddc06f87c1cef --- src/osmo-bsc/osmo_bsc_bssap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index c3716ce0a..7a7579b04 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -681,12 +681,12 @@ static int select_codecs(struct assignment_request *req, struct gsm0808_channel_ case GSM0808_SPEECH_FULL_BM: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_LM: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_PERM: case GSM0808_SPEECH_PERM_NO_CHANGE: @@ -694,19 +694,19 @@ static int select_codecs(struct assignment_request *req, struct gsm0808_channel_ case GSM0808_SPEECH_FULL_PREF: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; case GSM0808_SPEECH_HALF_PREF_NO_CHANGE: case GSM0808_SPEECH_HALF_PREF: rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_HR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; rc = match_codec_pref(&req->ch_mode_rate[nc], ct, &conn->codec_list, msc, bts, RATE_PREF_FR); - nc += (rc == 0); + nc += (rc == 0) ? 1 : 0; break; default: rc = -EINVAL;