summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/atmodem/sms.c8
-rw-r--r--src/driver.h2
-rw-r--r--src/sms.c4
3 files changed, 8 insertions, 6 deletions
diff --git a/drivers/atmodem/sms.c b/drivers/atmodem/sms.c
index f3a9ae1f..c3a9fa61 100644
--- a/drivers/atmodem/sms.c
+++ b/drivers/atmodem/sms.c
@@ -240,7 +240,7 @@ err:
}
static void at_cmgs(struct ofono_modem *modem, unsigned char *pdu, int pdu_len,
- int tpdu_len, gboolean mms, ofono_sms_submit_cb_t cb,
+ int tpdu_len, int mms, ofono_sms_submit_cb_t cb,
void *data)
{
struct at_data *at = ofono_modem_userdata(modem);
@@ -251,9 +251,11 @@ static void at_cmgs(struct ofono_modem *modem, unsigned char *pdu, int pdu_len,
if (!cbd)
goto error;
- if (mms)
- g_at_chat_send(at->parser, "AT+CMMS=1", none_prefix,
+ if (mms) {
+ sprintf(buf, "AT+CMMS=%d", mms);
+ g_at_chat_send(at->parser, buf, none_prefix,
NULL, NULL, NULL);
+ }
len = sprintf(buf, "AT+CMGS=%d\r", tpdu_len);
encode_hex_own_buf(pdu, pdu_len, 0, buf+len);
diff --git a/src/driver.h b/src/driver.h
index f324c1c3..8078b130 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -405,7 +405,7 @@ struct ofono_sms_ops {
const struct ofono_phone_number *sca,
ofono_generic_cb_t cb, void *data);
void (*submit)(struct ofono_modem *modem, unsigned char *pdu,
- int pdu_len, int tpdu_len, gboolean mms,
+ int pdu_len, int tpdu_len, int mms,
ofono_sms_submit_cb_t cb, void *data);
};
diff --git a/src/sms.c b/src/sms.c
index 7f428f36..ef039d97 100644
--- a/src/sms.c
+++ b/src/sms.c
@@ -314,7 +314,7 @@ static gboolean tx_next(gpointer user_data)
struct ofono_modem *modem = user_data;
struct sms_manager_data *sms = modem->sms_manager;
time_t ts;
- gboolean send_mms = FALSE;
+ int send_mms = 0;
struct pending_pdu *pdu = g_queue_peek_head(sms->txq);
struct ofono_error error;
@@ -329,7 +329,7 @@ static gboolean tx_next(gpointer user_data)
if ((g_queue_get_length(sms->txq) > 1) &&
((ts - sms->last_mms) > 60))
- send_mms = TRUE;
+ send_mms = 1;
sms->ops->submit(modem, pdu->pdu, pdu->pdu_len, pdu->tpdu_len, send_mms,
tx_finished, modem);