]> Sergey Matveev's repositories - nnn.git/commitdiff
Correct umount fusefs on FreeBSD
authoruvelichitel <uvelichitel@gmail.com>
Sat, 30 Jan 2021 21:47:09 +0000 (00:47 +0300)
committeruvelichitel <uvelichitel@gmail.com>
Sat, 30 Jan 2021 21:47:09 +0000 (00:47 +0300)
src/nnn.c

index 15857cf07cad9da5786ca485bd356a3cbbedd93e..9066f7f32445d07b430a460624bb6c3f5d46f92e 100644 (file)
--- 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