[ekg2-commit] r4226 - trunk/plugins/icq: trunk/plugins/icq/icq.c
SVN commit
svn w toxygen.net
Pią, 8 Sie 2008, 00:58:06 CEST
Author: darkjames
Date: 2008-08-08 00:58:06 +0200 (Fri, 08 Aug 2008)
New Revision: 4226
Modified:
trunk/plugins/icq/icq.c
Log:
ok. away-reasons done.
Modified: trunk/plugins/icq/icq.c
===================================================================
--- trunk/plugins/icq/icq.c 2008-08-07 22:35:52 UTC (rev 4225)
+++ trunk/plugins/icq/icq.c 2008-08-07 22:58:06 UTC (rev 4226)
@@ -86,29 +86,33 @@
return 0;
}
-int icq_write_status_msg(session_t *s, const char *msg) {
+int icq_write_status_msg(session_t *s) {
+ icq_private_t *j;
string_t pkt;
- char *dup_msg;
+ char *msg;
- if (!s)
+ if (!s || !(j = s->priv))
return -1;
+ if (j->aim == 0)
+ return -1;
+
if (s->status != EKG_STATUS_AWAY && s->status != EKG_STATUS_XA && s->status != EKG_STATUS_FFC && s->status != EKG_STATUS_DND)
return -1;
/* XXX, NA also supported */
- dup_msg = xstrndup(msg, 0x1000); /* XXX, recode */
+ msg = xstrndup(s->descr, 0x1000); /* XXX, recode */
/* XXX, cookie */
/* packTLV(&packet, 0x03, 0x21, (LPBYTE)"text/x-aolrtf; charset=\"utf-8\""); */ /* XXX, 0x21? why? */
- pkt = icq_pack("T", icq_pack_tlv_str(0x04, dup_msg));
+ pkt = icq_pack("T", icq_pack_tlv_str(0x04, msg));
icq_makesnac(s, pkt, 0x02, 0x04, 0, 0);
icq_send_pkt(s, pkt);
- xfree(dup_msg);
+ xfree(msg);
return 0;
}
@@ -361,8 +365,7 @@
protocol_connected_emit(s);
j->connecting = 0;
- if (j->aim)
- icq_write_status_msg(s, s->descr);
+ icq_write_status_msg(s);
}
static uint32_t icq_get_uid(session_t *s, const char *target) {
@@ -874,8 +877,10 @@
ekg_update_status(session);
- if (session->connected)
+ if (session->connected) {
icq_write_status(session);
+ icq_write_status_msg(session);
+ }
return 0;
}
Więcej informacji o liście dyskusyjnej ekg2-commit