comparison plugins/yay/rxhandlers.c @ 1616:8b684f420841

[gaim-migrate @ 1626] thanks to drbobbeaty :) things should work much better now. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 19 Mar 2001 14:54:19 +0000
parents 4a47a459cc98
children 2ca7329ee519
comparison
equal deleted inserted replaced
1615:5a2fd3f2a1d0 1616:8b684f420841
29 char **str_array = g_strsplit(buf, "\n", 1024); 29 char **str_array = g_strsplit(buf, "\n", 1024);
30 char **it; 30 char **it;
31 int state = 0; 31 int state = 0;
32 32
33 for (it = str_array; *it; it++) { 33 for (it = str_array; *it; it++) {
34 if (!**it) continue;
34 if (!strncmp(*it, "ERROR", strlen("ERROR"))) { 35 if (!strncmp(*it, "ERROR", strlen("ERROR"))) {
35 yahoo_close(session, conn); 36 yahoo_close(session, conn);
36 if (session->callbacks[YAHOO_HANDLE_BADPASSWORD].function) 37 if (session->callbacks[YAHOO_HANDLE_BADPASSWORD].function)
37 (*session->callbacks[YAHOO_HANDLE_BADPASSWORD].function)(session); 38 (*session->callbacks[YAHOO_HANDLE_BADPASSWORD].function)(session);
38 return 1; 39 return 1;
84 session->login = g_strdup(*it + strlen("Login=")); 85 session->login = g_strdup(*it + strlen("Login="));
85 } else { 86 } else {
86 if (state == 1) { 87 if (state == 1) {
87 struct yahoo_group *grp = g_new0(struct yahoo_group, 1); 88 struct yahoo_group *grp = g_new0(struct yahoo_group, 1);
88 char *end = strchr(*it, ':'); 89 char *end = strchr(*it, ':');
89 grp->name = g_strndup(*it, end - *it); 90 if (end) {
90 end++; 91 grp->name = g_strndup(*it, end - *it);
91 grp->buddies = g_strsplit(end, ",", 1024); 92 end++;
92 session->groups = g_list_append(session->groups, grp); 93 grp->buddies = g_strsplit(end, ",", 1024);
94 session->groups = g_list_append(session->groups, grp);
95 }
93 } else if (state == 2) { 96 } else if (state == 2) {
94 session->ignored = g_list_append(session->ignored, g_strdup(*it)); 97 session->ignored = g_list_append(session->ignored, g_strdup(*it));
95 } else if (state == 3) { 98 } else if (state == 3) {
96 session->identities = g_strsplit(*it, ",", 6); 99 session->identities = g_strsplit(*it, ",", 6);
97 } 100 }