[ekg2-commit] r4183 - trunk/plugins/icq: trunk/plugins/icq/icq.c trunk/plugins/icq/icq_snac_handlers_15extension.c
SVN commit
svn w toxygen.net
Nie, 3 Sie 2008, 20:28:20 CEST
Author: wiechu
Date: 2008-08-03 20:28:19 +0200 (Sun, 03 Aug 2008)
New Revision: 4183
Modified:
trunk/plugins/icq/icq.c
trunk/plugins/icq/icq_snac_handlers_15extension.c
Log:
icq fix
Modified: trunk/plugins/icq/icq.c
===================================================================
--- trunk/plugins/icq/icq.c 2008-07-31 16:52:18 UTC (rev 4182)
+++ trunk/plugins/icq/icq.c 2008-08-03 18:28:19 UTC (rev 4183)
@@ -820,15 +820,25 @@
/* Pack the search details */
pkt = string_init(NULL);
+
+#define wo_idnhtni(type, str) \
+ { \
+ uint32_t len = xstrlen(str); \
+ icq_pack_append(pkt, "www", (uint32_t) type, len+3, len+1); \
+ string_append_raw(pkt, (char *) str, len+1); \
+ }
+
if (first_name)
- icq_pack_append(pkt, "T", icq_pack_tlv_str(ROT16(0x0140), first_name)); /* TLV_FIRSTNAME */
+ wo_idnhtni(0x0140, first_name); /* TLV_FIRSTNAME */
if (last_name)
- icq_pack_append(pkt, "T", icq_pack_tlv_str(ROT16(0x014A), last_name)); /* TLV_LASTNAME */
+ wo_idnhtni(0x014A, last_name); /* TLV_LASTNAME */
if (nickname)
- icq_pack_append(pkt, "T", icq_pack_tlv_str(ROT16(0x0154), nickname)); /* TLV_NICKNAME */
+ wo_idnhtni(0x0154, nickname); /* TLV_NICKNAME */
+#undef wo_idnhtni
+
icq_makemetasnac(session, pkt, 2000, 0x055F, 0); /* META_SEARCH_GENERIC */
icq_send_pkt(session, pkt);
@@ -838,10 +848,13 @@
static COMMAND(icq_command_searchmail) {
string_t pkt;
- debug_function("icq_command_searchemail() %s\n", params[0]);
+ debug_function("icq_command_searchmail() %s\n", params[0]);
/* XXX, cookie */
+ if (!params[0])
+ return -1;
+
pkt = icq_pack("T", icq_pack_tlv_str(ROT16(0x015E), params[0])); /* TLV_EMAIL */
icq_makemetasnac(session, pkt, 2000, 0x0573, 0); /* META_SEARCH_EMAIL */
Modified: trunk/plugins/icq/icq_snac_handlers_15extension.c
===================================================================
--- trunk/plugins/icq/icq_snac_handlers_15extension.c 2008-07-31 16:52:18 UTC (rev 4182)
+++ trunk/plugins/icq/icq_snac_handlers_15extension.c 2008-08-03 18:28:19 UTC (rev 4183)
@@ -324,7 +324,7 @@
/* XXX, sprawdzic czy mamy cookie. */
- if (retcode == 0xA) {
+ if (retcode != 0xA) {
/* Failed search */
debug_error("icq_snac_extension_userfound() search error: %u\n", retcode);
return 0;
@@ -352,6 +352,8 @@
if (!ICQ_UNPACK(&buf, "S", &temp)) goto cleanup;
email = xstrdup(temp);
+ /* ?WO? gender, age, etc... ??? */
+
debug("[/search] %u nick: %s first: %s last: %s email: %s\n", uin, nickname, first_name, last_name, email);
#if 0
Więcej informacji o liście dyskusyjnej ekg2-commit