gcc -pthread -Wall -Wextra -Werror=implicit-function-declaration grp/getgrgid_r.c -o grp/getgrgid_r -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread -lrt -lxnet -lsocket -latomic grp/getgrgid_r.c: In function 'main': grp/getgrgid_r.c:19:26: error: too many arguments to function 'getgrgid_r' 19 | while ( (errno = getgrgid_r(gid, &entry, buffer, size, &grp)) ) | ^~~~~~~~~~ In file included from grp/getgrgid_r.c:3: /usr/include/grp.h:148:22: note: declared here 148 | extern struct group *getgrgid_r(gid_t, struct group *, char *, int); | ^~~~~~~~~~ grp/getgrgid_r.c:19:24: error: assignment to 'int' from 'struct group *' makes integer from pointer without a cast [-Wint-conversion] 19 | while ( (errno = getgrgid_r(gid, &entry, buffer, size, &grp)) ) | ^