From 8a014e780e504cb6e851af9a6c1b591e1bd9da0f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 7 Nov 2018 13:37:42 +1100 Subject: Cleanup: use STRPREFIX for mount point checks From D3846 by @kostex --- source/blender/editors/space_file/fsmenu.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'source/blender/editors/space_file') diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c index f925409d882..06a78c92f09 100644 --- a/source/blender/editors/space_file/fsmenu.c +++ b/source/blender/editors/space_file/fsmenu.c @@ -598,15 +598,22 @@ void fsmenu_read_system(struct FSMenu *fsmenu, int read_bookmarks) fp = setmntent(MOUNTED, "r"); if (fp == NULL) { - fprintf(stderr, "could not get a list of mounted filesystemts\n"); + fprintf(stderr, "could not get a list of mounted filesystems\n"); } else { while ((mnt = getmntent(fp))) { - /* not sure if this is right, but seems to give the relevant mnts */ - if (!STREQLEN(mnt->mnt_fsname, "/dev", 4)) + if (STRPREFIX(mnt->mnt_dir, "/boot")) { + /* Hide share not usable to the user. */ continue; - if (STREQLEN(mnt->mnt_fsname, "/dev/loop", 9)) + } + else if (!STRPREFIX(mnt->mnt_fsname, "/dev")) { + continue; + } + else if (STRPREFIX(mnt->mnt_fsname, "/dev/loop")) { + /* The dev/loop* entries are SNAPS used by desktop environment + * (Gnome) no need for them to show up in the list. */ continue; + } len = strlen(mnt->mnt_dir); if (len && mnt->mnt_dir[len - 1] != '/') { @@ -620,7 +627,7 @@ void fsmenu_read_system(struct FSMenu *fsmenu, int read_bookmarks) found = 1; } if (endmntent(fp) == 0) { - fprintf(stderr, "could not close the list of mounted filesystemts\n"); + fprintf(stderr, "could not close the list of mounted filesystems\n"); } } #endif -- cgit v1.2.3