Tame the number of 'exec' and 'path' search_match wrappers. No functional

change now, though more can likely go later, losing the (paritally complete or
incomplete/broken) argument completion bits.
This commit is contained in:
okan 2016-12-01 20:28:19 +00:00
parent 1e51789cc3
commit c6068df369
4 changed files with 13 additions and 27 deletions

View File

@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $OpenBSD: calmwm.h,v 1.334 2016/12/01 18:17:52 okan Exp $
* $OpenBSD: calmwm.h,v 1.335 2016/12/01 20:28:19 okan Exp $
*/
#ifndef _CALMWM_H_
@ -442,9 +442,7 @@ void search_match_client(struct menu_q *, struct menu_q *,
char *);
void search_match_exec(struct menu_q *, struct menu_q *,
char *);
void search_match_exec_path(struct menu_q *,
struct menu_q *, char *);
void search_match_path_any(struct menu_q *, struct menu_q *,
void search_match_path(struct menu_q *, struct menu_q *,
char *);
void search_match_text(struct menu_q *, struct menu_q *,
char *);

View File

@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $OpenBSD: kbfunc.c,v 1.139 2016/12/01 18:44:09 okan Exp $
* $OpenBSD: kbfunc.c,v 1.140 2016/12/01 20:28:19 okan Exp $
*/
#include <sys/types.h>
@ -451,7 +451,7 @@ kbfunc_menu_exec(void *ctx, union arg *arg, enum xev xev)
if ((mi = menu_filter(sc, &menuq, label, NULL,
(CWM_MENU_DUMMY | CWM_MENU_FILE),
search_match_exec_path, NULL)) != NULL) {
search_match_exec, NULL)) != NULL) {
if (mi->text[0] == '\0')
goto out;
switch (cmd) {

View File

@ -16,7 +16,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $OpenBSD: menu.c,v 1.98 2016/10/24 20:44:08 okan Exp $
* $OpenBSD: menu.c,v 1.99 2016/12/01 20:28:19 okan Exp $
*/
#include <sys/types.h>
@ -196,7 +196,7 @@ menu_complete_path(struct menu_ctx *mc)
TAILQ_INIT(&menuq);
if ((mi = menu_filter(sc, &menuq, mc->searchstr, NULL,
(CWM_MENU_DUMMY), search_match_path_any, NULL)) != NULL) {
(CWM_MENU_DUMMY), search_match_path, NULL)) != NULL) {
mr->abort = mi->abort;
mr->dummy = mi->dummy;
if (mi->text[0] != '\0')

View File

@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $OpenBSD: search.c,v 1.57 2016/10/24 18:57:12 okan Exp $
* $OpenBSD: search.c,v 1.58 2016/12/01 20:28:19 okan Exp $
*/
#include <sys/types.h>
@ -36,10 +36,8 @@
#define PATH_ANY 0x0001
#define PATH_EXEC 0x0002
static void search_match_path(struct menu_q *, struct menu_q *,
static void search_match_path_type(struct menu_q *, struct menu_q *,
char *, int);
static void search_match_path_exec(struct menu_q *, struct menu_q *,
char *);
static int strsubmatch(char *, char *, int);
void
@ -141,7 +139,8 @@ search_print_client(struct menu *mi, int list)
}
static void
search_match_path(struct menu_q *menuq, struct menu_q *resultq, char *search, int flag)
search_match_path_type(struct menu_q *menuq, struct menu_q *resultq,
char *search, int flag)
{
char pattern[PATH_MAX];
glob_t g;
@ -162,16 +161,10 @@ search_match_path(struct menu_q *menuq, struct menu_q *resultq, char *search, in
globfree(&g);
}
static void
search_match_path_exec(struct menu_q *menuq, struct menu_q *resultq, char *search)
{
return(search_match_path(menuq, resultq, search, PATH_EXEC));
}
void
search_match_path_any(struct menu_q *menuq, struct menu_q *resultq, char *search)
search_match_path(struct menu_q *menuq, struct menu_q *resultq, char *search)
{
return(search_match_path(menuq, resultq, search, PATH_ANY));
return(search_match_path_type(menuq, resultq, search, PATH_ANY));
}
void
@ -208,14 +201,9 @@ search_match_exec(struct menu_q *menuq, struct menu_q *resultq, char *search)
if (mj == NULL)
TAILQ_INSERT_TAIL(resultq, mi, resultentry);
}
}
void
search_match_exec_path(struct menu_q *menuq, struct menu_q *resultq, char *search)
{
search_match_exec(menuq, resultq, search);
if (TAILQ_EMPTY(resultq))
search_match_path_exec(menuq, resultq, search);
search_match_path_type(menuq, resultq, search, PATH_EXEC);
}
static int