aboutsummaryrefslogtreecommitdiff
path: root/libiberty/regex.c
diff options
context:
space:
mode:
authorJim Meyering <meyering@gcc.gnu.org>2011-04-20 18:19:03 +0000
committerJim Meyering <meyering@gcc.gnu.org>2011-04-20 18:19:03 +0000
commit046957830e176ad16fdef39bc7f1cd44d8fbc3b7 (patch)
treee56a024bf4863c42aaa3f941f466a849bb9d3b82 /libiberty/regex.c
parent53eebfbf949c9cfe6a060a91a09242cb7204f6d8 (diff)
downloadgcc-046957830e176ad16fdef39bc7f1cd44d8fbc3b7.zip
gcc-046957830e176ad16fdef39bc7f1cd44d8fbc3b7.tar.gz
gcc-046957830e176ad16fdef39bc7f1cd44d8fbc3b7.tar.bz2
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.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/libiberty/regex.c b/libiberty/regex.c
index 420c7f4a..d65eedb 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