Mercurial > pidgin.yaz
diff libpurple/protocols/yahoo/libymsg.c @ 29393:fa35d7029a14
* Don't crash if status is NULL
* Try to make the formatting of this code a little cleaner (to me, anyway)
* Print out the entire xml string instead of just pieces. Avoids a
potential NULL-printf (do we still care about these? I heard a rumor
that newer windows glibc handled "%s", null), and provides more info
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 09 Feb 2010 01:51:25 +0000 |
parents | 99b9c9ee7363 |
children | d1cecbc467c6 |
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/libymsg.c Mon Feb 08 18:38:42 2010 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Tue Feb 09 01:51:25 2010 +0000 @@ -4259,15 +4259,19 @@ validate_data_child = xmlnode_get_child(validate_data_root, "carrier"); carrier = xmlnode_get_data(validate_data_child); - purple_debug_info("yahoo","SMS validate data: Mobile:%s, Status:%s, Carrier:%s\n", mobile_no, status, carrier); - - if( strcmp(status, "Valid") == 0) { - g_hash_table_insert(yd->sms_carrier, g_strdup_printf("+%s", mobile_no), g_strdup(carrier)); - yahoo_send_im(sms_cb_data->gc, sms_cb_data->who, sms_cb_data->what, PURPLE_MESSAGE_SEND); - } - else { - g_hash_table_insert(yd->sms_carrier, g_strdup_printf("+%s", mobile_no), g_strdup("Unknown")); - purple_conversation_write(conv, NULL, _("Can't send SMS. Unknown mobile carrier."), PURPLE_MESSAGE_SYSTEM, time(NULL)); + purple_debug_info("yahoo", "SMS validate data: %s\n", webdata); + + if (status && g_str_equal(status, "Valid") == 0) { + g_hash_table_insert(yd->sms_carrier, + g_strdup_printf("+%s", mobile_no), g_strdup(carrier)); + yahoo_send_im(sms_cb_data->gc, sms_cb_data->who, + sms_cb_data->what, PURPLE_MESSAGE_SEND); + } else { + g_hash_table_insert(yd->sms_carrier, + g_strdup_printf("+%s", mobile_no), g_strdup("Unknown")); + purple_conversation_write(conv, NULL, + _("Can't send SMS. Unknown mobile carrier."), + PURPLE_MESSAGE_SYSTEM, time(NULL)); } xmlnode_free(validate_data_child);