Unverified Commit 9c33813d authored by Bernhard Walle's avatar Bernhard Walle Committed by Daniel Stenberg
Browse files

configure: check for declaration of getpwuid_r



On our x86 Android toolchain, getpwuid_r is implemented but the header
is missing:

 netrc.c:81:7: error: implicit declaration of function 'getpwuid_r' [-Werror=implicit-function-declaration]

Unfortunately, the function is used in curl_ntlm_wb.c, too, so I moved
the prototype to curl_setup.h.

Signed-off-by: default avatarBernhard Walle <bernhard@bwalle.de>
Closes #2609
parent 7179b839
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3618,6 +3618,11 @@ case $host in
    ;;
esac

AC_CHECK_DECLS([getpwuid_r], [], [AC_DEFINE(HAVE_DECL_GETPWUID_R_MISSING, 1, "Set if getpwuid_r() declaration is missing")],
        [[#include <pwd.h>
          #include <sys/types.h>]])


AC_CHECK_FUNCS([geteuid \
  getpass_r \
  getppid \
+7 −0
Original line number Diff line number Diff line
@@ -800,4 +800,11 @@ endings either CRLF or LF so 't' is appropriate.
#define CURL_SA_FAMILY_T unsigned short
#endif

/* Some versions of the Android SDK is missing the declaration */
#if defined(HAVE_GETPWUID_R) && defined(HAVE_DECL_GETPWUID_R_MISSING)
struct passwd;
int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf,
               size_t buflen, struct passwd **result);
#endif

#endif /* HEADER_CURL_SETUP_H */