From f6f19ff318188eb3fc4e9bb5e9ae56b99fae9d31 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 17 Apr 2014 21:52:00 -0700 Subject: [PATCH 10/12] dfa: simplify freelist * src/dfa.c (freelist): Don't null out array while freeing its pointers; the caller can do that if needed. (resetmust): Null out zeroth entry of array. --- src/dfa.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/dfa.c b/src/dfa.c index f8dbc7f..fc82ad9 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -3816,13 +3816,8 @@ istrstr (char const *lookin, char const *lookfor) static void freelist (char **cpp) { - size_t i; - - for (i = 0; cpp[i] != NULL; ++i) - { - free (cpp[i]); - cpp[i] = NULL; - } + while (*cpp) + free (*cpp++); } static char ** @@ -3925,8 +3920,9 @@ typedef struct static void resetmust (must * mp) { - mp->left[0] = mp->right[0] = mp->is[0] = '\0'; freelist (mp->in); + mp->in[0] = NULL; + mp->left[0] = mp->right[0] = mp->is[0] = '\0'; } static void -- 1.9.0