Lines 106-130
Link Here
|
106 |
|
106 |
|
107 |
BufList *buflist_tail(BufList *buf_list) |
107 |
BufList *buflist_tail(BufList *buf_list) |
108 |
{ |
108 |
{ |
109 |
BufList *p_list = buf_list; |
109 |
if (!buf_list) |
|
|
110 |
return buf_list; |
110 |
|
111 |
|
111 |
while( p_list != NULL ) |
112 |
while( buf_list->next ) |
112 |
{ |
113 |
buf_list = buf_list->next; |
113 |
if( p_list->next == NULL ) |
|
|
114 |
break; |
115 |
|
114 |
|
116 |
p_list = p_list->next; |
115 |
return buf_list; |
117 |
} |
|
|
118 |
|
119 |
return p_list; |
120 |
} |
116 |
} |
121 |
|
117 |
|
122 |
BufList *buflist_add_tail(BufList *buf_list, BufList *buf_tail) |
118 |
BufList *buflist_add_tail(BufList *buf_list, BufList *buf_tail) |
123 |
{ |
119 |
{ |
124 |
BufList *p_list = buflist_tail(buf_list); |
120 |
if (!buf_list) |
|
|
121 |
return NULL; |
122 |
|
123 |
buflist_tail(buf_list)->next = buf_tail; |
124 |
|
125 |
return buf_list; |
126 |
} |
127 |
|
128 |
BufList *buflist_add_tail_fast(BufList *buf_list, BufList *buf_tail, BufList** buf_tail_ptr) |
129 |
{ |
130 |
if (!buf_list) |
131 |
return NULL; |
125 |
|
132 |
|
126 |
if( p_list != NULL ) |
133 |
if (!*buf_tail_ptr) |
127 |
p_list->next = buf_tail; |
134 |
*buf_tail_ptr = buflist_tail(buf_list); |
|
|
135 |
|
136 |
(*buf_tail_ptr)->next = buf_tail; |
137 |
(*buf_tail_ptr) = buf_tail; |
128 |
|
138 |
|
129 |
return buf_list; |
139 |
return buf_list; |
130 |
} |
140 |
} |