* newlib/libc/include/sys/unistd.h: Add prototypes for
fchmod, fchown, lchown. * winsup/cygwin/syscalls.cc (chown_worker): Use previous uid/gid if new uid/gid is -1. New static function with chown functionality. (chown): Call chown_worker with SYMLINK_FOLLOW. (fchown): New function. Call chown_worker with SYMLINK_FOLLOW. (lchown): New function. Call chown_worker with SYMLINK_IGNORE. * cygwin.din: Add symbols for fchown, lchown. * path.cc (symlink): Call `set_file_attribute()' and `SetFileAttributeA()' instead of `chmod()' to set uid/gid correct.
This commit is contained in:
@@ -186,6 +186,8 @@ _f_atan2f
|
||||
__f_atan2f = _f_atan2f
|
||||
fchmod
|
||||
_fchmod = fchmod
|
||||
fchown
|
||||
_fchown = fchown
|
||||
fclose
|
||||
_fclose = fclose
|
||||
fcntl
|
||||
@@ -425,6 +427,8 @@ kill
|
||||
_kill = kill
|
||||
labs
|
||||
_labs = labs
|
||||
lchown
|
||||
_lchown = lchown
|
||||
ldexp
|
||||
_ldexp = ldexp
|
||||
ldexpf
|
||||
|
Reference in New Issue
Block a user