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