1: /* $Header$ */ 2: 3: /* 4: * Author: Peter J. Nicklin 5: */ 6: #include "slist.h" 7: 8: /* 9: * slsplice() splices slist2 to the tail of slist1. 10: */ 11: void 12: slsplice(slist1, slist2) 13: SLIST *slist1; /* receiving list */ 14: SLIST *slist2; /* list to be spliced */ 15: { 16: if (SLNUM(slist2) > 0) 17: if (SLNUM(slist1) == 0) 18: { 19: SLNUM(slist1) = SLNUM(slist2); 20: slist1->head = slist2->head; 21: slist1->tail = slist2->tail; 22: } 23: else { 24: SLNUM(slist1) += SLNUM(slist2); 25: slist1->tail->next = slist2->head; 26: slist1->tail = slist2->tail; 27: } 28: }