From 96e55006b894e23bb2e1bfdf60553c9eb0074718 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Wed, 8 Jan 2014 21:28:02 -0600 Subject: [PATCH] Hopefully improved portability when unmounting devices --- src/plugins/volumes.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/plugins/volumes.c b/src/plugins/volumes.c index cf6bb00..d45071a 100644 --- a/src/plugins/volumes.c +++ b/src/plugins/volumes.c @@ -20,13 +20,20 @@ #include #include #include +#ifndef __GNU__ /* XXX hurd portability */ +# include +# if defined(__linux__) || defined(__CYGWIN__) +# define unmount(a, b) umount(a) +# endif +# ifndef unmount +# define unmount unmount +# endif +#endif #if defined(__FreeBSD__) # include # include -# include #elif defined(__NetBSD__) # include -# include # include # include #endif @@ -454,13 +461,13 @@ static void _volumes_on_unmount(GtkWidget * widget, gpointer data) gchar * mountpoint; mountpoint = g_object_get_data(G_OBJECT(widget), "mountpoint"); -#ifdef MNT_FORCE +#ifndef unmount + errno = ENOSYS; +#else if(unmount(mountpoint, 0) != 0) +#endif volumes->helper->error(volumes->helper->browser, strerror(errno), 1); -#else - volumes->helper->error(volumes->helper->browser, strerror(ENOTSUP), 1); -#endif g_free(mountpoint); }