aboutsummaryrefslogtreecommitdiffstats
path: root/src/nnn.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nnn.c')
-rw-r--r--src/nnn.c41
1 files changed, 24 insertions, 17 deletions
diff --git a/src/nnn.c b/src/nnn.c
index 1f7c4a3..e4ed61c 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -1829,6 +1829,13 @@ static char *get_output(char *buf, size_t bytes, char *file, char *arg1, char *a
return NULL;
}
+static bool getutil(char *util) {
+ if (!get_output(g_buf, CMD_LEN_MAX, "which", util, NULL, FALSE))
+ return FALSE;
+
+ return TRUE;
+}
+
static char *xgetpwuid(uid_t uid)
{
struct passwd *pwd = getpwuid(uid);
@@ -1975,21 +1982,21 @@ static size_t get_fs_info(const char *path, bool type)
return svb.f_bavail << ffs(svb.f_frsize >> 1);
}
-static int show_mediainfo(char *fpath, char *arg)
+static bool show_mediainfo(char *fpath, char *arg)
{
- if (!get_output(g_buf, CMD_LEN_MAX, "which", utils[cfg.metaviewer], NULL, FALSE))
- return -1;
+ if (!getutil(utils[cfg.metaviewer]))
+ return FALSE;
exitcurses();
get_output(NULL, 0, utils[cfg.metaviewer], fpath, arg, TRUE);
refresh();
- return 0;
+ return TRUE;
}
-static int handle_archive(char *fpath, char *arg, char *dir)
+static bool handle_archive(char *fpath, char *arg, char *dir)
{
- if (!get_output(g_buf, CMD_LEN_MAX, "which", utils[ATOOL], NULL, FALSE))
- return -1;
+ if (!getutil(utils[ATOOL]))
+ return FALSE;
if (arg[1] == 'x')
spawn(utils[ATOOL], arg, fpath, dir, F_NORMAL);
@@ -1999,7 +2006,7 @@ static int handle_archive(char *fpath, char *arg, char *dir)
refresh();
}
- return 0;
+ return TRUE;
}
/*
@@ -2953,23 +2960,23 @@ nochange:
r = handle_archive(newpath, "-x", path);
break;
case SEL_RUNEDIT:
- r = 0;
+ r = TRUE;
spawn(editor, editor_arg, dents[cur].name, path, F_NORMAL);
break;
case SEL_RUNPAGE:
- r = 0;
+ r = TRUE;
spawn(pager, pager_arg, dents[cur].name, path, F_NORMAL);
break;
case SEL_LOCK:
- r = 0;
+ r = TRUE;
spawn(utils[LOCKER], NULL, NULL, NULL, F_NORMAL | F_SIGINT);
break;
default:
- r = 0;
+ r = TRUE;
break;
}
- if (r == -1) {
+ if (r == FALSE) {
printmsg("utility missing");
goto nochange;
}
@@ -3268,8 +3275,8 @@ nochange:
spawn(tmp, ptr1, ptr2, path, r);
} else if (sel == SEL_ARCHIVE) {
/* newpath is used as temporary buffer */
- if (!get_output(newpath, PATH_MAX, "which", utils[APACK], NULL, FALSE)) {
- printmsg("apack missing");
+ if (!getutil(utils[APACK])) {
+ printmsg("utility missing");
continue;
}
@@ -3368,8 +3375,8 @@ nochange:
xstrlcpy(lastname, tmp, NAME_MAX + 1);
goto begin;
case SEL_RENAMEALL:
- if (!get_output(g_buf, CMD_LEN_MAX, "which", utils[VIDIR], NULL, FALSE)) {
- printmsg("vidir missing");
+ if (!getutil(utils[VIDIR])) {
+ printmsg("utility missing");
goto nochange;
}