Change internal uid datatype from __uid16_t to __uid32_t
throughout. * cygwin.din: Export new symbols getpwuid32, getpwuid_r32, getuid32, geteuid32, setuid32, seteuid32. * passwd.cc (getpwuid32): New function. (getpwuid_r32): Ditto. * syscalls.cc (seteuid32): Ditto. (setuid32): Ditto. * uinfo.cc (getuid32): Ditto. (geteuid32): Ditto. * winsup.h (uid16touid32): New macro, correclt casting from __uid16_t to __uid32_t. (gid16togid32): Ditto fir gids. (getuid32): Declare. (geteuid32): Ditto. (getpwuid32): Ditto. * include/sys/cygwin.h (struct external_pinfo): Add members uid32 and gid32.
This commit is contained in:
@@ -244,7 +244,7 @@ cygsid::get_id (BOOL search_grp, int *type)
|
||||
}
|
||||
}
|
||||
if (id == -1)
|
||||
id = getuid ();
|
||||
id = getuid32 ();
|
||||
return id;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ is_grp_member (__uid32_t uid, __gid32_t gid)
|
||||
extern int getgroups32 (int, __gid32_t *, __gid32_t, const char *);
|
||||
BOOL grp_member = TRUE;
|
||||
|
||||
struct passwd *pw = getpwuid (uid);
|
||||
struct passwd *pw = getpwuid32 (uid);
|
||||
__gid32_t grps[NGROUPS_MAX];
|
||||
int cnt = getgroups32 (NGROUPS_MAX, grps,
|
||||
pw ? pw->pw_gid : myself->gid,
|
||||
|
Reference in New Issue
Block a user