diff options
author | Jim Meyering <meyering@gcc.gnu.org> | 2011-04-20 18:19:03 +0000 |
---|---|---|
committer | Jim Meyering <meyering@gcc.gnu.org> | 2011-04-20 18:19:03 +0000 |
commit | 046957830e176ad16fdef39bc7f1cd44d8fbc3b7 (patch) | |
tree | e56a024bf4863c42aaa3f941f466a849bb9d3b82 /libiberty/regex.c | |
parent | 53eebfbf949c9cfe6a060a91a09242cb7204f6d8 (diff) | |
download | gcc-046957830e176ad16fdef39bc7f1cd44d8fbc3b7.tar.gz |
remove useless if-before-free tests
Change "if (E) free (E);" to "free (E);" everywhere except in the
libgo/, intl/, zlib/ and classpath/ directories.
Also transform equivalent variants like
"if (E != NULL) free (E);" and allow an extra cast on the
argument to free. Otherwise, the tested and freed "E"
expressions must be identical, modulo white space.
From-SVN: r172785
Diffstat (limited to 'libiberty/regex.c')
-rw-r--r-- | libiberty/regex.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libiberty/regex.c b/libiberty/regex.c index 420c7f4a47d..d65eedb1670 100644 --- a/libiberty/regex.c +++ b/libiberty/regex.c @@ -4970,7 +4970,7 @@ weak_alias (__re_search_2, re_search_2) #ifdef MATCH_MAY_ALLOCATE # define FREE_VAR(var) if (var) REGEX_FREE (var); var = NULL #else -# define FREE_VAR(var) if (var) free (var); var = NULL +# define FREE_VAR(var) free (var); var = NULL #endif #ifdef WCHAR @@ -8111,20 +8111,17 @@ weak_alias (__regerror, regerror) void regfree (regex_t *preg) { - if (preg->buffer != NULL) - free (preg->buffer); + free (preg->buffer); preg->buffer = NULL; preg->allocated = 0; preg->used = 0; - if (preg->fastmap != NULL) - free (preg->fastmap); + free (preg->fastmap); preg->fastmap = NULL; preg->fastmap_accurate = 0; - if (preg->translate != NULL) - free (preg->translate); + free (preg->translate); preg->translate = NULL; } #ifdef _LIBC |