Mercurial > pidgin.yaz
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 } |