--- a/libpurple/protocols/yahoo/yahoo.c Sun Jun 21 14:24:23 2009 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Sun Jun 21 17:30:13 2009 +0000 @@ -1656,11 +1656,16 @@ } else if (len > 0 && ret_data && *ret_data) { gchar **split_data = g_strsplit(ret_data, "\r\n", -1); - int totalelements = g_strv_length(split_data); + int totalelements = 0; int response_no = -1; 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 >= 5) { response_no = strtol(split_data[1], NULL, 10); crumb = g_strdup(split_data[2] + strlen("crumb=")); @@ -1738,10 +1743,15 @@ } else if (len > 0 && ret_data && *ret_data) { gchar **split_data = g_strsplit(ret_data, "\r\n", -1); - int totalelements = g_strv_length(split_data); + int totalelements = 0; 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 >= 5) { response_no = strtol(split_data[1], NULL, 10); token = g_strdup(split_data[2] + strlen("ymsgr="));