Cygwin: symlink/mknod: fix ACL handling
mknod32 actually creates a path_conv, just to call mknod_worker with a win32 path. This doesn't only require to create path_conv twice, it also breaks permissions on filesystems supporting ACLs. Fix this by passing the path_conv created in the caller down to symlink_worker. Also, while at it, simplify the handling of trailing slashes and move it out of symlink_worker. Especially use the new PC_SYM_NOFOLLOW_DIR flag to avoid fiddeling with creating a new path copy without the trailing slash. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
@ -447,4 +447,4 @@ int normalize_win32_path (const char *, char *, char *&);
|
||||
int normalize_posix_path (const char *, char *, char *&);
|
||||
PUNICODE_STRING __reg3 get_nt_native_path (const char *, UNICODE_STRING&, bool);
|
||||
|
||||
int __reg3 symlink_worker (const char *, const char *, bool);
|
||||
int __reg3 symlink_worker (const char *, path_conv &, bool);
|
||||
|
Reference in New Issue
Block a user