diff options
-rw-r--r-- | lib/netrc.c | 26 |
1 files 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) |