[ekg2-commit] r4202 - trunk/plugins/icq: trunk/plugins/icq/icq.c
SVN commit
svn w toxygen.net
Czw, 7 Sie 2008, 08:37:53 CEST
Author: darkjames
Date: 2008-08-07 08:37:53 +0200 (Thu, 07 Aug 2008)
New Revision: 4202
Modified:
trunk/plugins/icq/icq.c
Log:
fix icq_sent_pkt()
Modified: trunk/plugins/icq/icq.c
===================================================================
--- trunk/plugins/icq/icq.c 2008-08-06 20:53:43 UTC (rev 4201)
+++ trunk/plugins/icq/icq.c 2008-08-07 06:37:53 UTC (rev 4202)
@@ -50,6 +50,9 @@
#define ICQ_HUB_SERVER "login.icq.com"
#define ICQ_HUB_PORT 5190
+static int icq_theme_init();
+PLUGIN_DEFINE(icq, PLUGIN_PROTOCOL, icq_theme_init);
+
int icq_send_pkt(session_t *s, string_t buf) {
icq_private_t *j;
watch_t *w;
@@ -67,10 +70,15 @@
for (l = watches; l; l = l->next) {
watch_t *w = l->data;
- if (w && w->is_session && w->data == s && w->type == WATCH_WRITE_LINE && w->fd == fd) {
+ if (w && w->plugin == &icq_plugin && w->is_session && w->data == s && w->type == WATCH_WRITE && w->buf && w->fd == fd) {
+ int ready = (w->buf->len == 0);
+
string_append_raw(w->buf, buf->str, buf->len);
string_free(buf, 1);
- return 1;
+
+ if (ready)
+ watch_handle_write(w);
+ return !ready;
}
}
@@ -389,9 +397,6 @@
return uin;
}
-static int icq_theme_init();
-PLUGIN_DEFINE(icq, PLUGIN_PROTOCOL, icq_theme_init);
-
static QUERY(icq_session_init) {
char *session = *(va_arg(ap, char**));
session_t *s = session_find(session);
Więcej informacji o liście dyskusyjnej ekg2-commit