mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
The r1.36 menuq_add() conversion did this one wrong; fix by reverting to the
original code which adds to resultentry list, as opposed to the wrong one in menuq_add(). Fixes crash noticed by at least Rickard Gustafsson.
This commit is contained in:
parent
717e6c8167
commit
15b9a8fe27
11
search.c
11
search.c
@ -148,9 +148,10 @@ static void
|
|||||||
search_match_path_type(struct menu_q *menuq, struct menu_q *resultq,
|
search_match_path_type(struct menu_q *menuq, struct menu_q *resultq,
|
||||||
char *search, int flag)
|
char *search, int flag)
|
||||||
{
|
{
|
||||||
char pattern[PATH_MAX];
|
struct menu *mi;
|
||||||
glob_t g;
|
char pattern[PATH_MAX];
|
||||||
int i;
|
glob_t g;
|
||||||
|
int i;
|
||||||
|
|
||||||
(void)strlcpy(pattern, search, sizeof(pattern));
|
(void)strlcpy(pattern, search, sizeof(pattern));
|
||||||
(void)strlcat(pattern, "*", sizeof(pattern));
|
(void)strlcat(pattern, "*", sizeof(pattern));
|
||||||
@ -160,7 +161,9 @@ search_match_path_type(struct menu_q *menuq, struct menu_q *resultq,
|
|||||||
for (i = 0; i < g.gl_pathc; i++) {
|
for (i = 0; i < g.gl_pathc; i++) {
|
||||||
if ((flag & PATH_EXEC) && access(g.gl_pathv[i], X_OK))
|
if ((flag & PATH_EXEC) && access(g.gl_pathv[i], X_OK))
|
||||||
continue;
|
continue;
|
||||||
menuq_add(resultq, NULL, "%s", g.gl_pathv[i]);
|
mi = xcalloc(1, sizeof(*mi));
|
||||||
|
(void)strlcpy(mi->text, g.gl_pathv[i], sizeof(mi->text));
|
||||||
|
TAILQ_INSERT_TAIL(resultq, mi, resultentry);
|
||||||
}
|
}
|
||||||
globfree(&g);
|
globfree(&g);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user