[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