66 { |
67 { |
67 screen_logger(j, io, buf); |
68 screen_logger(j, io, buf); |
68 file_logger(j, io, buf); |
69 file_logger(j, io, buf); |
69 } |
70 } |
70 |
71 |
|
72 /* |
71 static void jidsplit(const char *jid, char **user, char **host, |
73 static void jidsplit(const char *jid, char **user, char **host, |
72 char **res) |
74 char **res) |
73 { |
75 { |
74 char *tmp, *ptr; |
76 char *tmp, *ptr; |
75 tmp = strdup(jid); |
77 tmp = strdup(jid); |
363 } |
363 } |
364 |
364 |
365 void gotmessage(char *type, const char *from, const char *body, |
365 void gotmessage(char *type, const char *from, const char *body, |
366 const char *enc) |
366 const char *enc) |
367 { |
367 { |
368 char *u, *h, *r; |
368 char *jid; |
369 |
369 |
370 jidsplit(from, &u, &h, &r); |
|
371 /* |
370 /* |
|
371 //char *u, *h, *r; |
|
372 //jidsplit(from, &u, &h, &r); |
372 // Maybe we should remember the resource? |
373 // Maybe we should remember the resource? |
373 if (r) |
374 if (r) |
374 scr_LogPrint("There is an extra part in message (resource?): %s", r); |
375 scr_LogPrint("There is an extra part in message (resource?): %s", r); |
|
376 //scr_LogPrint("Msg from <%s>, type=%s", jidtodisp(from), type); |
375 */ |
377 */ |
376 |
378 |
377 //scr_LogPrint("Msg from <%s>, type=%s", jidtodisp(from), type); |
379 jid = jidtodisp(from); |
378 scr_WriteIncomingMessage(jidtodisp(from), body); |
380 hk_message_in(jid, 0, body); |
|
381 free(jid); |
379 } |
382 } |
380 |
383 |
381 void statehandler(jconn conn, int state) |
384 void statehandler(jconn conn, int state) |
382 { |
385 { |
383 static int previous_state = -1; |
386 static int previous_state = -1; |
652 if (type && !strcmp(type, "unavailable")) { |
655 if (type && !strcmp(type, "unavailable")) { |
653 ust = offline; |
656 ust = offline; |
654 } |
657 } |
655 |
658 |
656 r = jidtodisp(from); |
659 r = jidtodisp(from); |
|
660 /* |
657 if (ust != roster_getstatus(r)) |
661 if (ust != roster_getstatus(r)) |
658 scr_LogPrint("Buddy status has changed: [%c>%c] <%s>", |
662 scr_LogPrint("Buddy status has changed: [%c>%c] <%s>", |
659 imstatus2char[roster_getstatus(r)], imstatus2char[ust], r); |
663 imstatus2char[roster_getstatus(r)], imstatus2char[ust], r); |
660 roster_setstatus(r, ust); |
664 roster_setstatus(r, ust); |
|
665 */ |
|
666 if (ust != roster_getstatus(r)) |
|
667 hk_statuschange(r, 0, ust); |
661 free(r); |
668 free(r); |
662 buddylist_build(); |
669 buddylist_build(); |
663 scr_DrawRoster(); |
670 scr_DrawRoster(); |
664 /* |
671 /* |
665 if (x = xmlnode_get_tag(packet->x, "status")) |
672 if (x = xmlnode_get_tag(packet->x, "status")) |