Make two list-processing functions do nothing with an empty list.

This just makes these functions easier to understand all around.  In
the case of _token_list_append_list this is an actual bug fix, (where
append an empty list onto a non-empty list would previously scramble
the tail pointer of the original list).
This commit is contained in:
Carl Worth 2010-05-27 11:55:36 -07:00
parent dd7490093d
commit a65cf7b1d2

View file

@ -666,6 +666,9 @@ _token_list_append (token_list_t *list, token_t *token)
void
_token_list_append_list (token_list_t *list, token_list_t *tail)
{
if (tail == NULL || tail->head == NULL)
return;
if (list->head == NULL) {
list->head = tail->head;
} else {
@ -1218,7 +1221,7 @@ _glcpp_parser_expand_token_list_onto (glcpp_parser_t *parser,
token_list_t *intermediate, *list_orig = list;
int i, need_rescan = 0;
if (list == NULL)
if (list == NULL || list->head == NULL)
return;
intermediate = _token_list_create (parser);