--- a/libpurple/protocols/yahoo/libymsg.c Mon Oct 12 05:08:17 2009 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Mon Oct 12 05:08:37 2009 +0000 @@ -1761,11 +1761,8 @@ char *crumb = NULL; char *crypt = NULL; -#if GLIB_CHECK_VERSION(2,6,0) totalelements = g_strv_length(split_data); -#else - while (split_data[++totalelements] != NULL); -#endif + if (totalelements >= 4) { response_no = strtol(split_data[0], NULL, 10); crumb = g_strdup(split_data[1] + strlen("crumb=")); @@ -1847,11 +1844,8 @@ int response_no = -1; char *token = NULL; -#if GLIB_CHECK_VERSION(2,6,0) totalelements = g_strv_length(split_data); -#else - while (split_data[++totalelements] != NULL); -#endif + if(totalelements == 1) response_no = strtol(split_data[0], NULL, 10); else if(totalelements >= 2) {