diff options
Diffstat (limited to 'src/glsl/glcpp/glcpp-parse.c')
-rw-r--r-- | src/glsl/glcpp/glcpp-parse.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/glsl/glcpp/glcpp-parse.c b/src/glsl/glcpp/glcpp-parse.c index ab7c30ed78a..55ec165d70f 100644 --- a/src/glsl/glcpp/glcpp-parse.c +++ b/src/glsl/glcpp/glcpp-parse.c @@ -3150,10 +3150,31 @@ _token_list_trim_trailing_space (token_list_t *list) } int +_token_list_is_empty_ignoring_space (token_list_t *l) +{ + token_node_t *n; + + if (l == NULL) + return 1; + + n = l->head; + while (n != NULL && n->token->type == SPACE) + n = n->next; + + return n == NULL; +} + +int _token_list_equal_ignoring_space (token_list_t *a, token_list_t *b) { token_node_t *node_a, *node_b; + if (a == NULL || b == NULL) { + int a_empty = _token_list_is_empty_ignoring_space(a); + int b_empty = _token_list_is_empty_ignoring_space(b); + return a_empty == b_empty; + } + node_a = a->head; node_b = b->head; |