mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Updated ntdll-DOS_Attributes patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=53715
This commit is contained in:
parent
9f9285256f
commit
4f75966580
@ -1,18 +1,18 @@
|
||||
From a2e3bc27382f9c0c4894c6e0ab121f075e82db3e Mon Sep 17 00:00:00 2001
|
||||
From 95b71a04c7d437e25aac1a1d327beba6ebfaf608 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Wed, 20 Aug 2014 11:26:48 -0600
|
||||
Subject: [PATCH] ntdll: Perform the Unix-style hidden file check within the
|
||||
unified file info grabbing routine.
|
||||
|
||||
---
|
||||
dlls/ntdll/unix/file.c | 23 +++++++++--------------
|
||||
1 file changed, 9 insertions(+), 14 deletions(-)
|
||||
dlls/ntdll/unix/file.c | 25 ++++++++++---------------
|
||||
1 file changed, 10 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index 73d4cce90ae..b790cde3f90 100644
|
||||
index 9594c70c016..31579caf03b 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -1328,15 +1328,15 @@ static BOOLEAN get_dir_case_sensitivity( const char *dir )
|
||||
@@ -1311,16 +1311,16 @@ static BOOLEAN get_dir_case_sensitivity( const char *dir )
|
||||
*
|
||||
* Check if the specified file should be hidden based on its name and the show dot files option.
|
||||
*/
|
||||
@ -27,13 +27,15 @@ index 73d4cce90ae..b790cde3f90 100644
|
||||
- end = p = name->Buffer + name->Length/sizeof(WCHAR);
|
||||
- while (p > name->Buffer && p[-1] == '\\') p--;
|
||||
- while (p > name->Buffer && p[-1] != '\\') p--;
|
||||
- return (p < end && *p == '.');
|
||||
+ end = p = name + strlen( name );
|
||||
+ while (p > name && p[-1] == '\\') p--;
|
||||
+ while (p > name && p[-1] != '\\') p--;
|
||||
return (p < end && *p == '.');
|
||||
+ while (p > name && p[-1] == '/') p--;
|
||||
+ while (p > name && p[-1] != '/') p--;
|
||||
+ return (p < end && p[0] == '.' && p[1] && (p[1] != '.' || p[2]));
|
||||
}
|
||||
|
||||
@@ -1679,6 +1679,10 @@ static int get_file_info( const char *path, struct stat *st, ULONG *attr )
|
||||
|
||||
@@ -1662,6 +1662,10 @@ static int get_file_info( const char *path, struct stat *st, ULONG *attr )
|
||||
free( parent_path );
|
||||
}
|
||||
*attr |= get_file_attributes( st );
|
||||
@ -44,7 +46,7 @@ index 73d4cce90ae..b790cde3f90 100644
|
||||
len = xattr_get( path, SAMBA_XATTR_DOS_ATTRIB, hexattr, sizeof(hexattr)-1 );
|
||||
if (len == -1) return ret;
|
||||
*attr |= get_file_xattr( hexattr, len );
|
||||
@@ -2186,11 +2190,6 @@ static NTSTATUS get_dir_data_entry( struct dir_data *dir_data, void *info_ptr, I
|
||||
@@ -2228,11 +2232,6 @@ static NTSTATUS get_dir_data_entry( struct dir_data *dir_data, void *info_ptr, I
|
||||
if (class != FileNamesInformation)
|
||||
{
|
||||
if (st.st_dev != dir_data->id.dev) st.st_ino = 0; /* ignore inode if on a different device */
|
||||
@ -56,7 +58,7 @@ index 73d4cce90ae..b790cde3f90 100644
|
||||
fill_file_info( &st, attributes, info, class );
|
||||
}
|
||||
|
||||
@@ -4106,7 +4105,6 @@ NTSTATUS WINAPI NtQueryFullAttributesFile( const OBJECT_ATTRIBUTES *attr,
|
||||
@@ -4196,7 +4195,6 @@ NTSTATUS WINAPI NtQueryFullAttributesFile( const OBJECT_ATTRIBUTES *attr,
|
||||
info->AllocationSize = std.AllocationSize;
|
||||
info->EndOfFile = std.EndOfFile;
|
||||
info->FileAttributes = basic.FileAttributes;
|
||||
@ -64,7 +66,7 @@ index 73d4cce90ae..b790cde3f90 100644
|
||||
}
|
||||
free( unix_name );
|
||||
}
|
||||
@@ -4133,10 +4131,7 @@ NTSTATUS WINAPI NtQueryAttributesFile( const OBJECT_ATTRIBUTES *attr, FILE_BASIC
|
||||
@@ -4227,10 +4225,7 @@ NTSTATUS WINAPI NtQueryAttributesFile( const OBJECT_ATTRIBUTES *attr, FILE_BASIC
|
||||
else if (!S_ISREG(st.st_mode) && !S_ISDIR(st.st_mode))
|
||||
status = STATUS_INVALID_INFO_CLASS;
|
||||
else
|
||||
@ -76,5 +78,5 @@ index 73d4cce90ae..b790cde3f90 100644
|
||||
}
|
||||
else WARN( "%s not found (%x)\n", debugstr_us(attr->ObjectName), status );
|
||||
--
|
||||
2.30.2
|
||||
2.37.2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user