--- a/libpurple/protocols/mxit/formcmds.c Sun May 15 05:41:39 2016 -0300
+++ b/libpurple/protocols/mxit/formcmds.c Thu Jun 02 14:53:51 2016 -0500
@@ -395,6 +395,9 @@
validator = g_hash_table_lookup(hash, "v");
+ if (!name || !validator) tmp = g_hash_table_lookup(hash, "dat");
@@ -430,13 +433,13 @@
tmp = g_hash_table_lookup(hash, "fw");
+ width = (tmp ? atoi(tmp) : 0); tmp = g_hash_table_lookup(hash, "fh");
+ height = (tmp ? atoi(tmp) : 0); tmp = g_hash_table_lookup(hash, "layer");
+ layer = (tmp ? atoi(tmp) : 0); purple_debug_info(MXIT_PLUGIN_ID, "ImageStrip %s from %s: [w=%i h=%i l=%i validator=%s]\n", name, from, width, height, layer, validator);
@@ -525,21 +528,26 @@
name = g_hash_table_lookup(hash, "nm");
tmp = g_hash_table_lookup(hash, "col");
- nr_columns = atoi(tmp);
+ nr_columns = (tmp ? atoi(tmp) : 0); tmp = g_hash_table_lookup(hash, "row");
+ nr_rows = (tmp ? atoi(tmp) : 0); tmp = g_hash_table_lookup(hash, "mode");
+ mode = (tmp ? atoi(tmp) : 0); tmp = g_hash_table_lookup(hash, "d");
coldata = g_strsplit(tmp, "~", 0); /* split into entries for each row & column */
purple_debug_info(MXIT_PLUGIN_ID, "Table %s from %s: [cols=%i rows=%i mode=%i]\n", name, mx->from, nr_columns, nr_rows, mode);