Alexandre Julliard : ntdll: Fixed file system name comparison on *BSD.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Aug 29 07:48:13 CDT 2007
Module: wine
Branch: master
Commit: 8765a0da83acad6963693e915010f49c1b820b9a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8765a0da83acad6963693e915010f49c1b820b9a
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Aug 29 12:02:13 2007 +0200
ntdll: Fixed file system name comparison on *BSD.
---
dlls/ntdll/file.c | 19 +++++++------------
server/fd.c | 6 ++----
2 files changed, 9 insertions(+), 16 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index e84490f..c7004d7 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -1736,24 +1736,21 @@ NTSTATUS WINAPI NtQueryAttributesFile( const OBJECT_ATTRIBUTES *attr, FILE_BASIC
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__APPLE__)
/* helper for FILE_GetDeviceInfo to hide some platform differences in fstatfs */
static inline void get_device_info_fstatfs( FILE_FS_DEVICE_INFORMATION *info, const char *fstypename,
- size_t fstypesize, unsigned int flags )
+ unsigned int flags )
{
- if (!strncmp("cd9660", fstypename, fstypesize) ||
- !strncmp("udf", fstypename, fstypesize))
+ if (!strcmp("cd9660", fstypename) || !strcmp("udf", fstypename))
{
info->DeviceType = FILE_DEVICE_CD_ROM_FILE_SYSTEM;
/* Don't assume read-only, let the mount options set it below */
info->Characteristics |= FILE_REMOVABLE_MEDIA;
}
- else if (!strncmp("nfs", fstypename, fstypesize) ||
- !strncmp("nwfs", fstypename, fstypesize) ||
- !strncmp("smbfs", fstypename, fstypesize) ||
- !strncmp("afpfs", fstypename, fstypesize))
+ else if (!strcmp("nfs", fstypename) || !strcmp("nwfs", fstypename) ||
+ !strcmp("smbfs", fstypename) || !strcmp("afpfs", fstypename))
{
info->DeviceType = FILE_DEVICE_NETWORK_FILE_SYSTEM;
info->Characteristics |= FILE_REMOTE_DEVICE;
}
- else if (!strncmp("procfs", fstypename, fstypesize))
+ else if (!strcmp("procfs", fstypename))
info->DeviceType = FILE_DEVICE_VIRTUAL_DISK;
else
info->DeviceType = FILE_DEVICE_DISK_FILE_SYSTEM;
@@ -1849,16 +1846,14 @@ static NTSTATUS get_device_info( int fd, FILE_FS_DEVICE_INFORMATION *info )
if (fstatfs( fd, &stfs ) < 0)
info->DeviceType = FILE_DEVICE_DISK_FILE_SYSTEM;
else
- get_device_info_fstatfs( info, stfs.f_fstypename,
- sizeof(stfs.f_fstypename), stfs.f_flags );
+ get_device_info_fstatfs( info, stfs.f_fstypename, stfs.f_flags );
#elif defined(__NetBSD__)
struct statvfs stfs;
if (fstatvfs( fd, &stfs) < 0)
info->DeviceType = FILE_DEVICE_DISK_FILE_SYSTEM;
else
- get_device_info_fstatfs( info, stfs.f_fstypename,
- sizeof(stfs.f_fstypename), stfs.f_flag );
+ get_device_info_fstatfs( info, stfs.f_fstypename, stfs.f_flag );
#elif defined(sun)
/* Use dkio to work out device types */
{
diff --git a/server/fd.c b/server/fd.c
index cf3a306..31e1c9f 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -802,14 +802,12 @@ static int is_device_removable( dev_t dev, int unix_fd )
struct statfs stfs;
if (fstatfs( unix_fd, &stfs ) == -1) return 0;
- return (!strncmp("cd9660", stfs.f_fstypename, sizeof(stfs.f_fstypename)) ||
- !strncmp("udf", stfs.f_fstypename, sizeof(stfs.f_fstypename)));
+ return (!strcmp("cd9660", stfs.f_fstypename) || !strcmp("udf", stfs.f_fstypename));
#elif defined(__NetBSD__)
struct statvfs stfs;
if (fstatvfs( unix_fd, &stfs ) == -1) return 0;
- return (!strncmp("cd9660", stfs.f_fstypename, sizeof(stfs.f_fstypename)) ||
- !strncmp("udf", stfs.f_fstypename, sizeof(stfs.f_fstypename)));
+ return (!strcmp("cd9660", stfs.f_fstypename) || !strcmp("udf", stfs.f_fstypename));
#elif defined(sun)
# include <sys/dkio.h>
# include <sys/vtoc.h>
More information about the wine-cvs
mailing list