|
From: xevuz <xe...@us...> - 2007-12-29 09:08:15
|
Update of /cvsroot/chix/chix/src/lib In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27928/src/lib Modified Files: chix.c chix_buddy.c chix_credit.c chix_info.c chix_mesg.c Log Message: chikka server side changes. sequence no for list data (blist, buddy search, inbox/outbox, credit list) now gets incremented. can't use pkt->seqn as event id anymore. end of list data will also have the seqn incremented. quick fix for now. Index: chix.c =================================================================== RCS file: /cvsroot/chix/chix/src/lib/chix.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- chix.c 15 Jul 2007 11:21:35 -0000 1.28 +++ chix.c 29 Dec 2007 09:08:10 -0000 1.29 @@ -245,7 +245,7 @@ if (!__chix_buffer_ready(buf)) return 1; - do { + do { Chix_Packet *pkt; if (!(pkt = chix_packet_new())) @@ -254,7 +254,7 @@ return 0; if (!__call(pkt->code, cl, pkt)) return 0; - chix_packet_free(pkt); + chix_packet_free(pkt); } while (__chix_buffer_string(buf)); return 1; @@ -390,9 +390,29 @@ _chix_list_end(Chix_Client *cl, Chix_Packet *pkt) { Chix_Event *ev; - Chix_Packet *ack; - - ev = chix_event_get(cl, pkt->seqn); + Chix_Packet *ack; + int evid; + + switch (chix_packet_get_int(pkt, KEY_LIST_TYPE)) + { + case VAL_BLIST: + evid = BLIST_TYPE; + break; + case VAL_INBOX: + case VAL_OUTBOX: + evid = MESG_BOX_TYPE; + break; + case VAL_SEARCH: + evid = INFO_RESULT_TYPE; + break; + case VAL_CREDITS: + evid = CLIST_TYPE; + break; + default: + break; + } + + ev = chix_event_get(cl, evid); if (!ev) return 0; chix_event_thaw(ev); Index: chix_info.c =================================================================== RCS file: /cvsroot/chix/chix/src/lib/chix_info.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- chix_info.c 25 Jul 2006 12:07:07 -0000 1.14 +++ chix_info.c 29 Dec 2007 09:08:10 -0000 1.15 @@ -165,7 +165,7 @@ res = malloc(sizeof(Chix_Info_Result)); if (!res) return 0; - ev = chix_event_set(cl, res, EVENT_SEARCH_RESULT, pkt->seqn, + ev = chix_event_set(cl, res, EVENT_SEARCH_RESULT, INFO_RESULT_TYPE, CHIX_FUNC_FREE(_chix_info_result_free)); if (!ev) return 0; chix_event_freeze(ev); Index: chix_buddy.c =================================================================== RCS file: /cvsroot/chix/chix/src/lib/chix_buddy.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- chix_buddy.c 16 Jul 2007 12:47:47 -0000 1.24 +++ chix_buddy.c 29 Dec 2007 09:08:10 -0000 1.25 @@ -400,7 +400,7 @@ cl->blist = bl; SET_TYPE(bl, BLIST_TYPE); - ev = chix_event_set(cl, bl, EVENT_BUDDY_LIST, pkt->seqn, NULL); + ev = chix_event_set(cl, bl, EVENT_BUDDY_LIST, BLIST_TYPE, NULL); if (!ev) return 0; chix_event_freeze(ev); return 1; Index: chix_credit.c =================================================================== RCS file: /cvsroot/chix/chix/src/lib/chix_credit.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- chix_credit.c 10 Jul 2007 16:46:25 -0000 1.8 +++ chix_credit.c 29 Dec 2007 09:08:10 -0000 1.9 @@ -84,7 +84,7 @@ SET_TYPE(clist, CLIST_TYPE); - ev = chix_event_set(cl, clist, EVENT_CREDIT_LIST, pkt->seqn, + ev = chix_event_set(cl, clist, EVENT_CREDIT_LIST, CLIST_TYPE, CHIX_FUNC_FREE(_chix_clist_free)); chix_event_freeze(ev); return 1; Index: chix_mesg.c =================================================================== RCS file: /cvsroot/chix/chix/src/lib/chix_mesg.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- chix_mesg.c 14 Jul 2007 02:46:40 -0000 1.16 +++ chix_mesg.c 29 Dec 2007 09:08:10 -0000 1.17 @@ -133,7 +133,7 @@ msg->time = _chix_mesg_time(chix_packet_get_ptr(pkt, KEY_MESG_TIME)); SET_TYPE(msg, MESG_TYPE); - chix_event_set(cl, msg, EVENT_MESG, 0,CHIX_FUNC_FREE(_chix_mesg_free)); + chix_event_set(cl, msg, EVENT_MESG, 0, CHIX_FUNC_FREE(_chix_mesg_free)); return _chix_mesg_ack(cl, pkt); } @@ -149,7 +149,7 @@ bud = chix_blist_search(cl->blist, id); if (!bud) return 1; - box = chix_event_data_get(cl, pkt->seqn); + box = chix_event_data_get(cl, MESG_BOX_TYPE); if (!box) return 0; msg = calloc(1, sizeof(Chix_Mesg)); @@ -176,7 +176,7 @@ bud = chix_blist_search(cl->blist, id); if (!bud) return 1; - box = chix_event_data_get(cl, pkt->seqn); + box = chix_event_data_get(cl, MESG_BOX_TYPE); if (!box) return 0; msg = calloc(1, sizeof(Chix_Mesg)); @@ -207,7 +207,7 @@ else ev_type = EVENT_OUTBOX; - ev = chix_event_set(cl, box, ev_type, pkt->seqn, + ev = chix_event_set(cl, box, ev_type, MESG_BOX_TYPE, CHIX_FUNC_FREE(_chix_mesg_box_free)); if (!ev) return 0; chix_event_freeze(ev); |