aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/netrc.c26
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)