diff options
author | Karel Zak | 2010-09-28 01:26:31 +0200 |
---|---|---|
committer | Karel Zak | 2011-01-03 12:28:43 +0100 |
commit | 8485e7093bf506e3a4e13ffbe59ba83ef6853a32 (patch) | |
tree | 249f48e342df6956b2a0f2a5ff2e4cc977dbf4ef /shlibs/mount/src/fs.c | |
parent | libmount: better permissions and optstr evaliation (diff) | |
download | kernel-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.c | 30 |
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); |