From 6dd6b76c0a3a23346138a47b4a5e2739e429336b Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 17 Apr 2008 01:13:48 +0000 Subject: [PATCH] fix valgrind warning in match code SVN revision: 34284 --- legacy/edje/src/lib/edje_match.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/legacy/edje/src/lib/edje_match.c b/legacy/edje/src/lib/edje_match.c index b398e5dc67..273d2ace41 100644 --- a/legacy/edje/src/lib/edje_match.c +++ b/legacy/edje/src/lib/edje_match.c @@ -68,7 +68,7 @@ _edje_match_states_alloc(Edje_Patterns *ppat, int n) ALIGN(struct_size); struct_size += states_has_size; - l = malloc(n * struct_size); + l = calloc(1, n * struct_size); if (!l) return 0; ppat->states = l; @@ -92,19 +92,21 @@ _edje_match_states_insert(Edje_States *list, size_t idx, size_t pos) { - { - const size_t i = idx * (patterns_max_length + 1) + pos; - - if (list->size > i && list->has[i]) return; - list->has[i] = 1; - } - - const size_t i = list->size; + size_t i; + i = (idx * (patterns_max_length + 1)) + pos; + + if (list->size > i) + { + if (list->has[i]) return; + } + list->has[i] = 1; + + i = list->size; list->states[i].idx = idx; list->states[i].pos = pos; list->has[i] = 0; - ++list->size; + list->size++; } static void @@ -118,11 +120,11 @@ _edje_match_states_clear(Edje_States *list, /* Token manipulation. */ enum status - { - patterns_not_found = 0, - patterns_found = 1, - patterns_syntax_error = 2 - }; +{ + patterns_not_found = 0, + patterns_found = 1, + patterns_syntax_error = 2 +}; static size_t _edje_match_patterns_exec_class_token(enum status *status,