From 69ac9733f425ee02e8475e21cef3e9a448dc836f Mon Sep 17 00:00:00 2001 From: Aki Niemi Date: Mon, 14 Sep 2009 16:21:18 +0300 Subject: Modify to use the new alpha tag getter --- drivers/isimodem/network-registration.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'drivers/isimodem/network-registration.c') diff --git a/drivers/isimodem/network-registration.c b/drivers/isimodem/network-registration.c index f543f628..85b34c32 100644 --- a/drivers/isimodem/network-registration.c +++ b/drivers/isimodem/network-registration.c @@ -396,6 +396,8 @@ static bool name_get_resp_cb(GIsiClient *client, const void *restrict data, struct ofono_network_operator op; GIsiSubBlockIter iter; + DBG(""); + if (!msg) { DBG("ISI client error: %d", g_isi_client_error(client)); goto error; @@ -427,11 +429,16 @@ static bool name_get_resp_cb(GIsiClient *client, const void *restrict data, case NET_OPER_NAME_INFO: { char *tag = NULL; + guint8 taglen = 0; if (g_isi_sb_iter_get_len(&iter) < 4) goto error; - if (!g_isi_sb_iter_get_alpha_tag(&iter, &tag, 3)) + if (!g_isi_sb_iter_get_byte(&iter, &taglen, 3)) + goto error; + + if (!g_isi_sb_iter_get_alpha_tag(&iter, &tag, + taglen * 2, 4)) goto error; strncpy(op.name, tag, OFONO_MAX_OPERATOR_NAME_LENGTH); @@ -534,17 +541,25 @@ static bool available_resp_cb(GIsiClient *client, const void *restrict data, struct ofono_network_operator *op; char *tag = NULL; + guint8 taglen = 0; guint8 status = 0; if (g_isi_sb_iter_get_len(&iter) < 12) goto error; op = list + common++; - if (!g_isi_sb_iter_get_byte(&iter, &status, 2) || - !g_isi_sb_iter_get_alpha_tag(&iter, &tag, 5)) + if (!g_isi_sb_iter_get_byte(&iter, &status, 2)) goto error; op->status = status; + + if (!g_isi_sb_iter_get_byte(&iter, &taglen, 5)) + goto error; + + if (!g_isi_sb_iter_get_alpha_tag(&iter, &tag, + taglen * 2, 6)) + goto error; + strncpy(op->name, tag, OFONO_MAX_OPERATOR_NAME_LENGTH); op->name[OFONO_MAX_OPERATOR_NAME_LENGTH] = '\0'; g_free(tag); -- cgit v1.2.3