summary refs log tree commit diff
path: root/search.c
diff options
context:
space:
mode:
authorokan <okan>2013-04-03 19:28:00 +0000
committerokan <okan>2013-04-03 19:28:00 +0000
commit9cad4c73b36c922d9b251c9fc31eb6e9bee64f4e (patch)
treeb95303206bb67f82aa15c29ef13883be155d6407 /search.c
parentec4474a33acd02d1bf0df17aee7fb1a490bc9676 (diff)
downloadcwm-9cad4c73b36c922d9b251c9fc31eb6e9bee64f4e.tar.gz
cwm-9cad4c73b36c922d9b251c9fc31eb6e9bee64f4e.tar.xz
cwm-9cad4c73b36c922d9b251c9fc31eb6e9bee64f4e.zip
honor PATH search order for exec; from Andres Perera.
Diffstat (limited to 'search.c')
-rw-r--r--search.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/search.c b/search.c
index 759af5f..53ab8f0 100644
--- a/search.c
+++ b/search.c
@@ -217,6 +217,7 @@ void
 search_match_exec(struct menu_q *menuq, struct menu_q *resultq, char *search)
 {
 	struct menu	*mi, *mj;
+	int		 r;
 
 	TAILQ_INIT(resultq);
 
@@ -225,10 +226,11 @@ search_match_exec(struct menu_q *menuq, struct menu_q *resultq, char *search)
 		    fnmatch(search, mi->text, 0) == FNM_NOMATCH)
 			continue;
 		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);
+			if (r <= 0)
 				break;
-			}
 		}
 		if (mj == NULL)
 			TAILQ_INSERT_TAIL(resultq, mi, resultentry);