summaryrefslogtreecommitdiffstats
path: root/shlibs/mount/src/fs.c
diff options
context:
space:
mode:
authorKarel Zak2010-09-28 01:26:31 +0200
committerKarel Zak2011-01-03 12:28:43 +0100
commit8485e7093bf506e3a4e13ffbe59ba83ef6853a32 (patch)
tree249f48e342df6956b2a0f2a5ff2e4cc977dbf4ef /shlibs/mount/src/fs.c
parentlibmount: better permissions and optstr evaliation (diff)
downloadkernel-qcow2-util-linux-8485e7093bf506e3a4e13ffbe59ba83ef6853a32.tar.gz
kernel-qcow2-util-linux-8485e7093bf506e3a4e13ffbe59ba83ef6853a32.tar.xz
kernel-qcow2-util-linux-8485e7093bf506e3a4e13ffbe59ba83ef6853a32.zip
libmount: add FS detection
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'shlibs/mount/src/fs.c')
-rw-r--r--shlibs/mount/src/fs.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/shlibs/mount/src/fs.c b/shlibs/mount/src/fs.c
index 8c7baa266..140bdb19a 100644
--- a/shlibs/mount/src/fs.c
+++ b/shlibs/mount/src/fs.c
@@ -340,9 +340,6 @@ int __mnt_fs_set_fstype_ptr(mnt_fs *fs, char *fstype)
{
assert(fs);
- if (!fstype)
- return -EINVAL;
-
if (fstype != fs->fstype)
free(fs->fstype);
@@ -351,13 +348,14 @@ int __mnt_fs_set_fstype_ptr(mnt_fs *fs, char *fstype)
fs->flags &= ~MNT_FS_NET;
/* save info about pseudo filesystems */
- if (mnt_fstype_is_pseudofs(fs->fstype))
- fs->flags |= MNT_FS_PSEUDO;
- else if (mnt_fstype_is_netfs(fs->fstype))
- fs->flags |= MNT_FS_NET;
- else if (!strcmp(fs->fstype, "swap"))
- fs->flags |= MNT_FS_SWAP;
-
+ if (fs->fstype) {
+ if (mnt_fstype_is_pseudofs(fs->fstype))
+ fs->flags |= MNT_FS_PSEUDO;
+ else if (mnt_fstype_is_netfs(fs->fstype))
+ fs->flags |= MNT_FS_NET;
+ else if (!strcmp(fs->fstype, "swap"))
+ fs->flags |= MNT_FS_SWAP;
+ }
return 0;
}
@@ -372,14 +370,16 @@ int __mnt_fs_set_fstype_ptr(mnt_fs *fs, char *fstype)
*/
int mnt_fs_set_fstype(mnt_fs *fs, const char *fstype)
{
- char *p;
+ char *p = NULL;
int rc;
- if (!fs || !fstype)
+ if (!fs)
return -EINVAL;
- p = strdup(fstype);
- if (!p)
- return -ENOMEM;
+ if (fstype) {
+ p = strdup(fstype);
+ if (!p)
+ return -ENOMEM;
+ }
rc = __mnt_fs_set_fstype_ptr(fs, p);
if (rc)
free(p);