Omit sorting if no matches/entries

This commit is contained in:
Arun Prakash Jana 2018-03-19 03:54:19 +05:30
parent dbf60734ba
commit 5624905803
No known key found for this signature in database
GPG key ID: A75979F35C080412

10
nnn.c
View file

@ -1050,7 +1050,7 @@ nextsel(char **run, char **env, int *presel)
/*
* Move non-matching entries to the end
*/
static void
static int
fill(struct entry **dents, int (*filter)(regex_t *, char *), regex_t *re)
{
static int count;
@ -1071,6 +1071,8 @@ fill(struct entry **dents, int (*filter)(regex_t *, char *), regex_t *re)
continue;
}
}
return ndents;
}
static int
@ -1082,8 +1084,10 @@ matches(char *fltr)
if (setfilter(&re, fltr) != 0)
return -1;
fill(&dents, visible, &re);
ndents = fill(&dents, visible, &re);
regfree(&re);
if (ndents == 0)
return 0;
qsort(dents, ndents, sizeof(*dents), entrycmp);
@ -2224,6 +2228,8 @@ populate(char *path, char *oldname, char *fltr)
ndents = dentfill(path, &dents, visible, &re);
regfree(&re);
if (ndents == 0)
return 0;
qsort(dents, ndents, sizeof(*dents), entrycmp);