From c6e5b6719785943e2225cae1cc70db61dfb57ede Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 19 Feb 2004 09:22:00 +0000 Subject: 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 | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lib/netrc.c b/lib/netrc.c index 059ccdabc..c43fc9fe1 100644 --- a/lib/netrc.c +++ b/lib/netrc.c @@ -111,25 +111,27 @@ int Curl_parsenetrc(char *host, } #endif /* CURLDEBUG */ if(!netrcfile) { + home = curl_getenv("HOME"); /* portable environment reader */ + if(home) { + home_alloc = TRUE; #if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID) - struct passwd *pw; - pw= getpwuid(geteuid()); - if (pw) { + } + else { + struct passwd *pw; + pw= getpwuid(geteuid()); + if (pw) { #ifdef VMS - home = decc$translate_vms(pw->pw_dir); + home = decc$translate_vms(pw->pw_dir); #else - home = pw->pw_dir; + home = pw->pw_dir; #endif - } + } #endif - - if(!home) { - home = curl_getenv("HOME"); /* portable environment reader */ - if(!home) - return -1; - home_alloc = TRUE; } + if(!home) + return -1; + netrcfile = curl_maprintf("%s%s%s", home, DIR_CHAR, NETRC); if(!netrcfile) { if(home_alloc) -- cgit v1.2.3