diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 492a96cea..67f6d8ffb 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2002-06-25 Corinna Vinschen + + * syscalls.cc (chown): Convert uid to 32 bit. + (lchown): Ditto. + (fchown): Ditto. + 2002-06-24 Christopher Faylor * dtable.cc (dtable::find_unused_handle): Avoid coercion. diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index d5b6be4ff..54c238e48 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -832,7 +832,8 @@ extern "C" int chown (const char * name, __uid16_t uid, __gid16_t gid) { sigframe thisframe (mainthread); - return chown_worker (name, PC_SYM_FOLLOW, uid, gid16togid32 (gid)); + return chown_worker (name, PC_SYM_FOLLOW, + uid16touid32 (uid), gid16togid32 (gid)); } extern "C" int @@ -846,7 +847,8 @@ extern "C" int lchown (const char * name, __uid16_t uid, __gid16_t gid) { sigframe thisframe (mainthread); - return chown_worker (name, PC_SYM_NOFOLLOW, uid, gid16togid32 (gid)); + return chown_worker (name, PC_SYM_NOFOLLOW, + uid16touid32 (uid), gid16togid32 (gid)); } extern "C" int @@ -877,7 +879,7 @@ fchown32 (int fd, __uid32_t uid, __gid32_t gid) extern "C" int fchown (int fd, __uid16_t uid, __gid16_t gid) { - return fchown32 (fd, uid, gid16togid32 (gid)); + return fchown32 (fd, uid16touid32 (uid), gid16togid32 (gid)); } /* umask: POSIX 5.3.3.1 */