honor PATH search order for exec; from Andres Perera.

This commit is contained in:
okan 2013-04-03 19:28:00 +00:00
parent ec4474a33a
commit 9cad4c73b3

View File

@ -217,6 +217,7 @@ void
search_match_exec(struct menu_q *menuq, struct menu_q *resultq, char *search) search_match_exec(struct menu_q *menuq, struct menu_q *resultq, char *search)
{ {
struct menu *mi, *mj; struct menu *mi, *mj;
int r;
TAILQ_INIT(resultq); TAILQ_INIT(resultq);
@ -225,11 +226,12 @@ search_match_exec(struct menu_q *menuq, struct menu_q *resultq, char *search)
fnmatch(search, mi->text, 0) == FNM_NOMATCH) fnmatch(search, mi->text, 0) == FNM_NOMATCH)
continue; continue;
TAILQ_FOREACH(mj, resultq, resultentry) { TAILQ_FOREACH(mj, resultq, resultentry) {
if (strcasecmp(mi->text, mj->text) < 0) { r = strcasecmp(mi->text, mj->text);
if (r < 0)
TAILQ_INSERT_BEFORE(mj, mi, resultentry); TAILQ_INSERT_BEFORE(mj, mi, resultentry);
if (r <= 0)
break; break;
} }
}
if (mj == NULL) if (mj == NULL)
TAILQ_INSERT_TAIL(resultq, mi, resultentry); TAILQ_INSERT_TAIL(resultq, mi, resultentry);
} }