Rebase against 11e8662ebbbde9d39301aaf4bbc6f448b4cc4b77.

This commit is contained in:
Alistair Leslie-Hughes 2024-12-05 09:54:50 +11:00
parent 342b3b8162
commit dc277fed5e
3 changed files with 20 additions and 19 deletions

View File

@ -1,4 +1,4 @@
From c2236d2048faf1e01da3130fdb81688da6829d4a Mon Sep 17 00:00:00 2001
From 742f9b17c321b671e6b7bcd3bc7772e3ef66729d Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Thu, 16 Jan 2014 21:02:11 -0700
Subject: [PATCH] server: Implement FILE_OPEN_REPARSE_POINT option.
@ -10,7 +10,7 @@ Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
2 files changed, 142 insertions(+), 7 deletions(-)
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
index 1f13511fa7b..1c41e0011f3 100644
index 249f476eb7e..2ea3d81a264 100644
--- a/dlls/kernelbase/file.c
+++ b/dlls/kernelbase/file.c
@@ -769,6 +769,8 @@ static UINT get_nt_file_options( DWORD attributes )
@ -23,7 +23,7 @@ index 1f13511fa7b..1c41e0011f3 100644
}
diff --git a/server/fd.c b/server/fd.c
index 04688c5eb0d..94b8bd088ed 100644
index c82ed49034e..cd4b35915d4 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -32,6 +32,7 @@
@ -201,16 +201,7 @@ index 04688c5eb0d..94b8bd088ed 100644
if ((fd->unix_fd = open( name, rw_mode | (flags & ~O_TRUNC), *mode )) == -1)
{
/* if we tried to open a directory for write access, retry read-only */
@@ -1945,7 +2066,7 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
fd->unix_name = NULL;
if ((path = dup_fd_name( root, name )))
{
- fd->unix_name = realpath( path, NULL );
+ fd->unix_name = normalize_path( path, flags );
free( path );
}
@@ -1956,10 +2077,11 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
@@ -1947,10 +2068,11 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
*mode = st.st_mode;
/* only bother with an inode for normal files and directories */
@ -223,7 +214,16 @@ index 04688c5eb0d..94b8bd088ed 100644
if (!inode)
{
@@ -1974,13 +2096,17 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
@@ -1962,7 +2084,7 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
if ((path = dup_fd_name( root, name )))
{
- fd->unix_name = realpath( path, NULL );
+ fd->unix_name = normalize_path( path, flags );
free( path );
}
@@ -1975,13 +2097,17 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam
list_add_head( &inode->open, &fd->inode_entry );
closed_fd = NULL;
@ -243,7 +243,7 @@ index 04688c5eb0d..94b8bd088ed 100644
{
set_error( STATUS_FILE_IS_A_DIRECTORY );
goto error;
@@ -2427,6 +2553,7 @@ static struct fd *get_handle_fd_obj( struct process *process, obj_handle_t handl
@@ -2428,6 +2554,7 @@ static struct fd *get_handle_fd_obj( struct process *process, obj_handle_t handl
static int is_dir_empty( int fd )
{
@ -251,7 +251,7 @@ index 04688c5eb0d..94b8bd088ed 100644
DIR *dir;
int empty;
struct dirent *de;
@@ -2434,8 +2561,13 @@ static int is_dir_empty( int fd )
@@ -2435,8 +2562,13 @@ static int is_dir_empty( int fd )
if ((fd = dup( fd )) == -1)
return -1;
@ -266,7 +266,7 @@ index 04688c5eb0d..94b8bd088ed 100644
close( fd );
return -1;
}
@@ -2447,6 +2579,7 @@ static int is_dir_empty( int fd )
@@ -2448,6 +2580,7 @@ static int is_dir_empty( int fd )
empty = 0;
}
closedir( dir );
@ -274,7 +274,7 @@ index 04688c5eb0d..94b8bd088ed 100644
return empty;
}
@@ -2485,7 +2618,7 @@ static void set_fd_disposition( struct fd *fd, unsigned int flags )
@@ -2486,7 +2619,7 @@ static void set_fd_disposition( struct fd *fd, unsigned int flags )
file_set_error();
return;
}

View File

@ -1 +1,2 @@
Fixes: [46534] Implement INetworkInformationStatics interface
Disabled: True

View File

@ -1 +1 @@
96a94318125332cd7aa80c475b35e38439b7c2b3
11e8662ebbbde9d39301aaf4bbc6f448b4cc4b77