commit 3776f72af1887231eb993622d602fb58f527d83c
parent d23cc2fe15ae283f267276912b9fab825188ef0a
Author: uvelichitel <uvelichitel@gmail.com>
Date: Sun, 31 Jan 2021 00:47:09 +0300
Correct umount fusefs on FreeBSD
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/nnn.c b/src/nnn.c
@@ -4437,7 +4437,7 @@ static bool remote_mount(char *newpath)
*/
static bool unmount(char *name, char *newpath, int *presel, char *currentpath)
{
-#ifdef __APPLE__
+#if defined (__APPLE__) || defined (__FreeBSD__)
static char cmd[] = "umount";
#else
static char cmd[] = "fusermount3"; /* Arch Linux utility */
@@ -4450,7 +4450,7 @@ static bool unmount(char *name, char *newpath, int *presel, char *currentpath)
bool hovered = TRUE;
char mntpath[PATH_MAX];
-#ifndef __APPLE__
+#if !defined ( __APPLE__) && !defined (__FreeBSD__)
/* On Ubuntu it's fusermount */
if (!found && !getutil(cmd)) {
cmd[10] = '\0';
@@ -4484,7 +4484,7 @@ static bool unmount(char *name, char *newpath, int *presel, char *currentpath)
return FALSE;
}
-#ifdef __APPLE__
+#if defined (__APPLE__) || defined (__FreeBSD__)
if (spawn(cmd, newpath, NULL, F_NORMAL)) {
#else
if (spawn(cmd, "-u", newpath, F_NORMAL)) {
@@ -4494,6 +4494,8 @@ static bool unmount(char *name, char *newpath, int *presel, char *currentpath)
#ifdef __APPLE__
if (spawn(cmd, "-l", newpath, F_NORMAL)) {
+#elif defined (__FreeBSD__)
+ if (spawn(cmd, "-f", newpath, F_NORMAL)) {
#else
if (spawn(cmd, "-uz", newpath, F_NORMAL)) {
#endif