diff --git a/include/Browser/vfs.h b/include/Browser/vfs.h index e3a2c39..8e7ceb3 100644 --- a/include/Browser/vfs.h +++ b/include/Browser/vfs.h @@ -26,15 +26,24 @@ /* public */ /* functions */ +/* accessors */ +int browser_vfs_is_mountpoint(struct stat * lst, dev_t parent); + +/* useful */ +/* DIR */ +DIR * browser_vfs_opendir(char const * filename, struct stat * st); int browser_vfs_closedir(DIR * dir); -int browser_vfs_lstat(char const * filename, struct stat * st); +struct dirent * browser_vfs_readdir(DIR * dir); + +/* Mime */ GdkPixbuf * browser_vfs_mime_icon(Mime * mime, char const * filename, char const * type, struct stat * lst, struct stat * st, int size); char const * browser_vfs_mime_type(Mime * mime, char const * filename, mode_t mode); -DIR * browser_vfs_opendir(char const * filename, struct stat * st); -struct dirent * browser_vfs_readdir(DIR * dir); + +/* stat */ +int browser_vfs_lstat(char const * filename, struct stat * st); int browser_vfs_stat(char const * filename, struct stat * st); #endif /* !DESKTOP_BROWSER_VFS_H */ diff --git a/src/browser.c b/src/browser.c index 73d0861..a8819ec 100644 --- a/src/browser.c +++ b/src/browser.c @@ -1458,8 +1458,8 @@ static void _loop_insert(Browser * browser, GtkTreeIter * iter, BC_DISPLAY_NAME, display, BC_INODE, inode, BC_IS_DIRECTORY, S_ISDIR(st->st_mode), BC_IS_EXECUTABLE, st->st_mode & S_IXUSR, - BC_IS_MOUNT_POINT, - (st->st_dev != browser->refresh_dev) ? TRUE : FALSE, + BC_IS_MOUNT_POINT, browser_vfs_is_mountpoint(lst, + browser->refresh_dev) ? TRUE : FALSE, BC_PIXBUF_24, icon24, #if GTK_CHECK_VERSION(2, 6, 0) BC_PIXBUF_48, icon48, BC_PIXBUF_96, icon96, @@ -1802,8 +1802,8 @@ static void _loop_update(Browser * browser, GtkTreeIter * iter, BC_PATH, path, BC_DISPLAY_NAME, display, BC_INODE, inode, BC_IS_DIRECTORY, S_ISDIR(st->st_mode), BC_IS_EXECUTABLE, st->st_mode & S_IXUSR, - BC_IS_MOUNT_POINT, - (st->st_dev != browser->refresh_dev) ? TRUE : FALSE, + BC_IS_MOUNT_POINT, browser_vfs_is_mountpoint(lst, + browser->refresh_dev) ? TRUE : FALSE, BC_PIXBUF_24, icon24, #if GTK_CHECK_VERSION(2, 6, 0) BC_PIXBUF_48, icon48, diff --git a/src/vfs.c b/src/vfs.c index 1aea8de..03ff87c 100644 --- a/src/vfs.c +++ b/src/vfs.c @@ -26,6 +26,15 @@ /* public */ /* functions */ +/* accessors */ +/* browser_vfs_is_mountpoint */ +int browser_vfs_is_mountpoint(struct stat * lst, dev_t parent) +{ + return (lst->st_dev != parent) ? 1 : 0; +} + + +/* useful */ /* browser_vfs_lstat */ int browser_vfs_lstat(char const * filename, struct stat * st) {