From c6e5b6719785943e2225cae1cc70db61dfb57ede Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 19 Feb 2004 09:22:00 +0000 Subject: [PATCH] Doug Porter's patch that changes the order of preferences on how to find the default netrc file. We now read and uses HOME _before_ we use getpwuid() to better allow users to move around HOME to use different .netrc files without having to rely on even blacker magic. --- lib/netrc.c | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/lib/netrc.c b/lib/netrc.c index 059ccdabc..c43fc9fe1 100644 --- a/lib/netrc.c +++ b/lib/netrc.c @@ -111,24 +111,26 @@ int Curl_parsenetrc(char *host, } #endif /* CURLDEBUG */ if(!netrcfile) { -#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID) - struct passwd *pw; - pw= getpwuid(geteuid()); - if (pw) { -#ifdef VMS - home = decc$translate_vms(pw->pw_dir); -#else - home = pw->pw_dir; -#endif - } -#endif - - if(!home) { - home = curl_getenv("HOME"); /* portable environment reader */ - if(!home) - return -1; + home = curl_getenv("HOME"); /* portable environment reader */ + if(home) { home_alloc = TRUE; +#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID) } + else { + struct passwd *pw; + pw= getpwuid(geteuid()); + if (pw) { +#ifdef VMS + home = decc$translate_vms(pw->pw_dir); +#else + home = pw->pw_dir; +#endif + } +#endif + } + + if(!home) + return -1; netrcfile = curl_maprintf("%s%s%s", home, DIR_CHAR, NETRC); if(!netrcfile) {