[ekg2-commit] r4191 - trunk/plugins/icq: trunk/plugins/icq/icq_flap_handlers.c trunk/plugins/icq/icq_snac_handlers.c trunk/plugins/icq/icq_snac_handlers_15extension.c
SVN commit
svn w toxygen.net
Śro, 6 Sie 2008, 08:24:40 CEST
Author: darkjames
Date: 2008-08-06 08:24:40 +0200 (Wed, 06 Aug 2008)
New Revision: 4191
Modified:
trunk/plugins/icq/icq_flap_handlers.c
trunk/plugins/icq/icq_snac_handlers.c
trunk/plugins/icq/icq_snac_handlers_15extension.c
Log:
- display result of search in current window, not only in status.
- use debug_white() not debug_function() when we show header.
Modified: trunk/plugins/icq/icq_flap_handlers.c
===================================================================
--- trunk/plugins/icq/icq_flap_handlers.c 2008-08-05 23:15:10 UTC (rev 4190)
+++ trunk/plugins/icq/icq_flap_handlers.c 2008-08-06 06:24:40 UTC (rev 4191)
@@ -203,7 +203,7 @@
data = snac.data;
- debug_white("icq_flap_data() SNAC pkt, fam=0x%x cmd=0x%x flags=0x%x ref=0x%x (datalen=%d)\n", snac.family, snac.cmd, snac.flags, snac.ref, len);
+ debug_white("icq_flap_data() SNAC pkt, fam=0x%x cmd=0x%x flags=0x%x ref=0x%x (len=%d)\n", snac.family, snac.cmd, snac.flags, snac.ref, len);
if (snac.flags & 0x8000) {
uint16_t skip_len;
Modified: trunk/plugins/icq/icq_snac_handlers.c
===================================================================
--- trunk/plugins/icq/icq_snac_handlers.c 2008-08-05 23:15:10 UTC (rev 4190)
+++ trunk/plugins/icq/icq_snac_handlers.c 2008-08-06 06:24:40 UTC (rev 4191)
@@ -154,7 +154,7 @@
int icq_snac_handler(session_t *s, uint16_t family, uint16_t cmd, unsigned char *buf, int len) {
snac_handler_t handler;
- debug_function("icq_snac_handler() family: %.4x cmd: %.4x len: %d\n", family, cmd, len);
+ debug_white("icq_snac_handler() family=%.4x cmd=%.4x (len=%d)\n", family, cmd, len);
/* XXX, queue */
// debug_error("icq_flap_data() XXX\n");
Modified: trunk/plugins/icq/icq_snac_handlers_15extension.c
===================================================================
--- trunk/plugins/icq/icq_snac_handlers_15extension.c 2008-08-05 23:15:10 UTC (rev 4190)
+++ trunk/plugins/icq/icq_snac_handlers_15extension.c 2008-08-06 06:24:40 UTC (rev 4191)
@@ -310,11 +310,12 @@
return 0;
}
-METASNAC_SUBHANDLER(icq_snac_extension_userfound) {
+static int icq_snac_extension_userfound_common(session_t *s, unsigned char *buf, int len, uint32_t uid, uint8_t retcode, int islast) {
char *nickname = NULL;
char *first_name = NULL;
char *last_name = NULL;
char *email = NULL;
+ char *full_name;
char *temp;
uint32_t uin;
@@ -351,11 +352,44 @@
if (!ICQ_UNPACK(&buf, "S", &temp)) goto cleanup;
email = xstrdup(temp);
+ if (first_name[0] && last_name[0])
+ full_name = saprintf("%s %s", first_name, last_name);
+ else
+ full_name = xstrdup(first_name[0] ? first_name : last_name);
+
+#define birthyear NULL
+#define gender ""
+#define active ""
+
+ /* XXX, "search_results_multi", "search_results_single" */
+ /* XXX, instead of email we had city */
+ /* XXX, some time ago i was thinking to of function which
+ * if data was truncated [because of width in format]
+ * it'd take another line to complete..
+ *
+ * i don't like truncation of data for instance:
+ * 08:17:12 97320776 | darkjames | Jakub Zawadz | - | darkjames w po
+ *
+ * i was thinking about:
+ * 97320776 | darkjames | Jakub Zawwdz | - | darkjames w po
+ * ki czta.onet.pl
+ *
+ * of course we can do more magic, and wrap...
+ * Jakub
+ * Zawadzki
+ *
+ * or maybe let's align to center? :)
+ * Jakub
+ * Zawadzki
+ */
+
+ print_info(NULL, s, "search_results_multi", itoa(uin), full_name, nickname, email,
+ birthyear ? birthyear : ("-"), gender, active);
+
+ xfree(full_name);
+
/* ?WO? gender, age, etc... ??? */
icq_hexdump(DEBUG_WHITE, buf, len);
-
- debug("[/search] %u nick: %s first: %s last: %s email: %s\n", uin, nickname, first_name, last_name, email);
-
#if 0
// Authentication needed flag
if (wPacketLen < 1)
@@ -390,6 +424,9 @@
return -1;
}
+METASNAC_SUBHANDLER(icq_snac_extension_userfound) { return icq_snac_extension_userfound_common(s, buf, len, uid, retcode, 0); }
+METASNAC_SUBHANDLER(icq_snac_extension_userfound_last) { return icq_snac_extension_userfound_common(s, buf, len, uid, retcode, 1); }
+
SNAC_SUBHANDLER(icq_snac_extension_replyreq_2010) {
struct {
uint16_t subtype;
@@ -404,6 +441,8 @@
return -1;
}
+ debug_white("icq_snac_extension_replyreq_2010() subtype=%.4x result=%.2x (len=%d)\n", pkt.subtype, pkt.result, len);
+
switch (pkt.subtype) {
/* userinfo */
case 0x00C8: handler = icq_snac_extensions_basicinfo; break; /* Miranda: OK, META_BASIC_USERINFO */
@@ -416,8 +455,7 @@
case 0x00EB: handler = icq_snac_extensions_email; break; /* Miranda: OK, META_EMAIL_USERINFO */
case 0x0104: handler = icq_snac_extensions_shortinfo; break; /* Miranda: OK, META_SHORT_USERINFO */
/* search */
- case 0x01AE: /* Miranda: OK, SRV_LAST_USER_FOUND */
- /* XXX, ekg2 */
+ case 0x01AE: handler = icq_snac_extension_userfound_last; break;/* Miranda: OK, SRV_LAST_USER_FOUND */
case 0x01A4: handler = icq_snac_extension_userfound; break; /* Miranda: OK, SRV_USER_FOUND */
case 0x0366: handler = NULL; break; /* XXX, SRV_RANDOM_FOUND */
@@ -479,7 +517,7 @@
return -1;
}
- debug("icq_snac_extension_replyreq() (rlen: %d) rlen2: %d uid: %d type: %d\n", len, pkt.len, pkt.uid, pkt.type);
+ debug_white("icq_snac_extension_replyreq() uid=%d type=%.4x (len=%d, len2=%d)\n", pkt.uid, pkt.type, len, pkt.len);
if (xstrcmp(s->uid+4, itoa(pkt.uid))) {
debug_error("icq_snac_extension_replyreq() 1919 UIN mismatch: %s vs %ld.\n", s->uid+4, pkt.uid);
Więcej informacji o liście dyskusyjnej ekg2-commit