wall: fix OSX getgrouplist, gid_t* vs int*
This was the compiler warning: term-utils/wall.c:156:39: warning: passing 'gid_t *const' (aka 'unsigned int *const') to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign] rc = getgrouplist(login, pw->pw_gid, buf->groups, &ngroups); ^~~~~~~~~~~ /usr/include/unistd.h:653:43: note: passing argument to parameter here int getgrouplist(const char *, int, int *, int *); ^ Reported-by: Ruediger Meier <ruediger.meier@ga-group.nl> Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
bda267627e
commit
098a75a18b
|
@ -102,7 +102,13 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
|
|||
struct group_workspace {
|
||||
gid_t requested_group;
|
||||
int ngroups;
|
||||
|
||||
/* getgrouplist() on OSX takes int* not gid_t* */
|
||||
#ifdef __APPLE__
|
||||
int *groups;
|
||||
#else
|
||||
gid_t *groups;
|
||||
#endif
|
||||
};
|
||||
|
||||
static gid_t get_group_gid(const char *optarg)
|
||||
|
@ -162,7 +168,7 @@ static int is_gr_member(const char *login, const struct group_workspace *buf)
|
|||
}
|
||||
|
||||
for (; ngroups >= 0; --ngroups) {
|
||||
if (buf->requested_group == buf->groups[ngroups])
|
||||
if (buf->requested_group == (gid_t) buf->groups[ngroups])
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue