Module: wine Branch: master Commit: 8765a0da83acad6963693e915010f49c1b820b9a URL: http://source.winehq.org/git/wine.git/?a=commit;h=8765a0da83acad6963693e9150...
Author: Alexandre Julliard julliard@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>