Hi, Any chance you missed pj_list_init()? :) BR, nanang On Thu, Jan 28, 2010 at 10:51 PM, DaCheng <ato_wu at yahoo.com.tw> wrote: > > Hi Benny > I have a question about pj_list_search(). > If there is no any data (count = 0) in the list, and use pj_list_search() to search node will cause loop issue. > > Here is a pseudo code: > /* > * Declare a struct for a data list. > */ > struct pjsua_test_list > { > PJ_DECL_LIST_MEMBER(struct pjsua_test); > int acc_id; /**< Account ID. */ > int call_id; /**< Call ID */ > }; > pjsua_test_list ua_test; > case 1: > If I did not push_back or insert any data in the link, and use this pj_list_search() directly. > It will cause a loop issue. > > case 2: > If I insert a data before then erase it, and use pj_list_search() to search, it also cause a loop. > pjsua_test_list *ua_data; > ... > pj_list_push_back(&ua_test, ua_data); > pj_list_erase(ua_data); > pj_list_search(&ua_test, pjcu_callid, &compare_node); > ==>loop... > > If there is no any node link in the ua_test, there is no situation to match break condition. > Because the input of the first arg in the pj_list_search() is the point of the address. > Though, it can use pj_list_size() or pj_list_empty() to check before use pj_list_search(). > Is it a issue or that is pjsip design original. > > Best Regards > DaCheng > ___________________________________________________ > ??????? ? ???????????????? > http://messenger.yahoo.com.tw/ > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >