From: Richard Röjfors <rich...@puffinpack.se>

GCC 10 warns about a couple of implicit conversions;

huawei: Member from the incorrect enum was returned,
both had the value 0, so the code would still work.

drivers/huaweimodem/radio-settings.c: In function ‘band_gsm_from_huawei’:
drivers/huaweimodem/radio-settings.c:107:10: error: implicit conversion from 
‘enum ofono_radio_band_umts’ to ‘enum ofono_radio_band_gsm’ 
[-Werror=enum-conversion]
  107 |   return OFONO_RADIO_BAND_UMTS_ANY;

util: smsutil and util has an enum each for representing
the same thing; The SMS alphabet. They share the same
values, so an explicit type cast makes GCC happy.

src/smsutil.c: In function ‘sms_text_prepare_with_alphabet’:
src/smsutil.c:3594:8: error: implicit conversion from ‘enum sms_alphabet’ to 
‘enum gsm_dialect’ [-Werror=enum-conversion]
 3594 |        alphabet, &used_locking,
---
 drivers/huaweimodem/radio-settings.c | 2 +-
 src/smsutil.c                        | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/huaweimodem/radio-settings.c 
b/drivers/huaweimodem/radio-settings.c
index c8ebcba0..b3f31e56 100644
--- a/drivers/huaweimodem/radio-settings.c
+++ b/drivers/huaweimodem/radio-settings.c
@@ -104,7 +104,7 @@ static enum ofono_radio_band_gsm 
band_gsm_from_huawei(unsigned int band)
        size_t i;
 
        if (band == HUAWEI_BAND_ANY)
-               return OFONO_RADIO_BAND_UMTS_ANY;
+               return OFONO_RADIO_BAND_GSM_ANY;
 
        for (i = ARRAY_SIZE(huawei_band_gsm_table) - 1; i > 0; i--) {
                if (huawei_band_gsm_table[i].band_huawei & band)
diff --git a/src/smsutil.c b/src/smsutil.c
index 450a1d38..e6556df6 100644
--- a/src/smsutil.c
+++ b/src/smsutil.c
@@ -3575,6 +3575,7 @@ GSList *sms_text_prepare_with_alphabet(const char *to, 
const char *utf8,
        GSList *r = NULL;
        enum gsm_dialect used_locking;
        enum gsm_dialect used_single;
+       enum gsm_dialect dialect;
 
        memset(&template, 0, sizeof(struct sms));
        template.type = SMS_TYPE_SUBMIT;
@@ -3586,12 +3587,14 @@ GSList *sms_text_prepare_with_alphabet(const char *to, 
const char *utf8,
        template.submit.vp.relative = 0xA7; /* 24 Hours */
        sms_address_from_string(&template.submit.daddr, to);
 
+       /* There are two enums for the same thing */
+       dialect = (enum gsm_dialect)alphabet;
        /*
         * UDHI, UDL, UD and DCS actually depend on the contents of
         * the text, and also on the GSM dialect we use to encode it.
         */
        gsm_encoded = convert_utf8_to_gsm_best_lang(utf8, -1, NULL, &written, 0,
-                                                       alphabet, &used_locking,
+                                                       dialect, &used_locking,
                                                        &used_single);
        if (!gsm_encoded) {
                size_t converted;
-- 
2.27.0
_______________________________________________
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org

Reply via email to