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