More redundant check removal

This commit is contained in:
Arun Prakash Jana 2018-10-28 00:20:39 +05:30
parent 134ee92f43
commit 89bc0b3738
No known key found for this signature in database
GPG key ID: A75979F35C080412

22
nnn.c
View file

@ -460,7 +460,7 @@ static void *xrealloc(void *pcur, size_t len)
static void *pmem;
pmem = realloc(pcur, len);
if (!pmem && pcur)
if (!pmem)
free(pcur);
return pmem;
@ -2081,6 +2081,12 @@ static int sum_sizes(const char *fpath, const struct stat *sb,
return 0;
}
static void dentfree(struct entry *dents)
{
free(pnamebuf);
free(dents);
}
static int dentfill(char *path, struct entry **dents,
int (*filter)(regex_t *, char *), regex_t *re)
{
@ -2238,22 +2244,13 @@ static int dentfill(char *path, struct entry **dents,
/* Should never be null */
if (closedir(dirp) == -1) {
if (*dents) {
free(pnamebuf);
free(*dents);
}
dentfree(*dents);
errexit();
}
return n;
}
static void dentfree(struct entry *dents)
{
free(pnamebuf);
free(dents);
}
/* Return the position of the matching entry or 0 otherwise */
static int dentfind(struct entry *dents, const char *fname, int n)
{
@ -2887,8 +2884,7 @@ nochange:
mkpath(path, dents[cur].name, newpath, PATH_MAX);
if (lstat(newpath, &sb) == -1) {
if (dents)
dentfree(dents);
dentfree(dents);
errexit();
}