From: Carl Worth Date: Thu, 27 May 2010 18:55:36 +0000 (-0700) Subject: Make two list-processing functions do nothing with an empty list. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a65cf7b1d29e98ef3bf31051df8a06cb394d131f;p=mesa.git 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). --- diff --git a/glcpp-parse.y b/glcpp-parse.y index b2684d06d98..ba79a611f6e 100644 --- a/glcpp-parse.y +++ b/glcpp-parse.y @@ -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);