| 63 return; |
63 return; |
| 64 } |
64 } |
| 65 |
65 |
| 66 purple_debug_error("silc", "silc_say error: %s\n", tmp); |
66 purple_debug_error("silc", "silc_say error: %s\n", tmp); |
| 67 |
67 |
| 68 if (!strcmp(tmp, "Authentication failed")) |
68 if (purple_strequal(tmp, "Authentication failed")) |
| 69 reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED; |
69 reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED; |
| 70 |
70 |
| 71 if (client != NULL) |
71 if (client != NULL) |
| 72 gc = client->application; |
72 gc = client->application; |
| 73 |
73 |
| 120 if (silc_mime_is_multipart(mime)) { |
120 if (silc_mime_is_multipart(mime)) { |
| 121 SilcMime p; |
121 SilcMime p; |
| 122 const char *mtype; |
122 const char *mtype; |
| 123 SilcDList parts = silc_mime_get_multiparts(mime, &mtype); |
123 SilcDList parts = silc_mime_get_multiparts(mime, &mtype); |
| 124 |
124 |
| 125 if (!strcmp(mtype, "mixed")) { |
125 if (purple_strequal(mtype, "mixed")) { |
| 126 /* Contains multiple messages */ |
126 /* Contains multiple messages */ |
| 127 silc_dlist_start(parts); |
127 silc_dlist_start(parts); |
| 128 while ((p = silc_dlist_get(parts)) != SILC_LIST_END) { |
128 while ((p = silc_dlist_get(parts)) != SILC_LIST_END) { |
| 129 /* Recursively process parts */ |
129 /* Recursively process parts */ |
| 130 ret = silcpurple_mime_message(client, conn, sender, channel, |
130 ret = silcpurple_mime_message(client, conn, sender, channel, |
| 131 payload, key, flags, p, TRUE); |
131 payload, key, flags, p, TRUE); |
| 132 } |
132 } |
| 133 } |
133 } |
| 134 |
134 |
| 135 if (!strcmp(mtype, "alternative")) { |
135 if (purple_strequal(mtype, "alternative")) { |
| 136 /* Same message in alternative formats. Kopete sends |
136 /* Same message in alternative formats. Kopete sends |
| 137 these. Go in order from last to first. */ |
137 these. Go in order from last to first. */ |
| 138 silc_dlist_end(parts); |
138 silc_dlist_end(parts); |
| 139 while ((p = silc_dlist_get(parts)) != SILC_LIST_END) { |
139 while ((p = silc_dlist_get(parts)) != SILC_LIST_END) { |
| 140 /* Go through the alternatives and display the first |
140 /* Go through the alternatives and display the first |
| 591 case SILC_NOTIFY_TYPE_NICK_CHANGE: |
591 case SILC_NOTIFY_TYPE_NICK_CHANGE: |
| 592 client_entry = va_arg(va, SilcClientEntry); |
592 client_entry = va_arg(va, SilcClientEntry); |
| 593 tmp = va_arg(va, char *); /* Old nick */ |
593 tmp = va_arg(va, char *); /* Old nick */ |
| 594 name = va_arg(va, char *); /* New nick */ |
594 name = va_arg(va, char *); /* New nick */ |
| 595 |
595 |
| 596 if (!strcmp(tmp, name)) |
596 if (purple_strequal(tmp, name)) |
| 597 break; |
597 break; |
| 598 |
598 |
| 599 /* Change nick on all channels */ |
599 /* Change nick on all channels */ |
| 600 silc_hash_table_list(client_entry->channels, &htl); |
600 silc_hash_table_list(client_entry->channels, &htl); |
| 601 while (silc_hash_table_get(&htl, NULL, (void *)&chu)) { |
601 while (silc_hash_table_get(&htl, NULL, (void *)&chu)) { |