summaryrefslogtreecommitdiff
path: root/pjlib
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-11-22 14:47:45 +0000
committerBenny Prijono <bennylp@teluu.com>2006-11-22 14:47:45 +0000
commit976627ba309e2116156b9861f103ad533051704f (patch)
tree130bed12bd33fefaa5f60916dadfd38442c9de05 /pjlib
parent6f410248c4d9f204305784b716d05ba4b90304d1 (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.h16
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)