diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-11-22 14:47:45 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-11-22 14:47:45 +0000 |
commit | 976627ba309e2116156b9861f103ad533051704f (patch) | |
tree | 130bed12bd33fefaa5f60916dadfd38442c9de05 /pjlib | |
parent | 6f410248c4d9f204305784b716d05ba4b90304d1 (diff) |
Fixed pj_list_merge_last and pj_list_merge_first
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@820 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib')
-rw-r--r-- | pjlib/include/pj/list_i.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/pjlib/include/pj/list_i.h b/pjlib/include/pj/list_i.h index 2a8bf582..cd384698 100644 --- a/pjlib/include/pj/list_i.h +++ b/pjlib/include/pj/list_i.h @@ -74,17 +74,21 @@ pj_list_insert_nodes_before(pj_list_type *pos, pj_list_type *lst) PJ_IDEF(void) pj_list_merge_last(pj_list_type *lst1, pj_list_type *lst2) { - pj_link_node(((pj_list*)lst1)->prev, ((pj_list*)lst2)->next); - pj_link_node(((pj_list*)lst2)->prev, lst1); - pj_list_init(lst2); + if (!pj_list_empty(lst2)) { + pj_link_node(((pj_list*)lst1)->prev, ((pj_list*)lst2)->next); + pj_link_node(((pj_list*)lst2)->prev, lst1); + pj_list_init(lst2); + } } PJ_IDEF(void) pj_list_merge_first(pj_list_type *lst1, pj_list_type *lst2) { - pj_link_node(((pj_list*)lst2)->prev, ((pj_list*)lst1)->next); - pj_link_node(((pj_list*)lst1), ((pj_list*)lst2)->next); - pj_list_init(lst2); + if (!pj_list_empty(lst2)) { + pj_link_node(((pj_list*)lst2)->prev, ((pj_list*)lst1)->next); + pj_link_node(((pj_list*)lst1), ((pj_list*)lst2)->next); + pj_list_init(lst2); + } } PJ_IDEF(void) |