X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fnetrc.c;h=73de0d0786f9263c98f5848536f708c56ef9de06;hp=c70a8a348ae35d87b6015a462273f2c70e763bb5;hb=2524076dd238f47d3d45368a6b2722931cea577e;hpb=86395b297b58c8c9b43d7ca8c42b831d4926dac6 diff --git a/src/netrc.c b/src/netrc.c index c70a8a34..73de0d07 100644 --- a/src/netrc.c +++ b/src/netrc.c @@ -1,5 +1,5 @@ /* Read and parse the .netrc file to get hosts, accounts, and passwords. - Copyright (C) 1996, 2007 Free Software Foundation, Inc. + Copyright (C) 1996, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Wget. @@ -30,16 +30,13 @@ as that of the covered work. */ /* This file used to be kept in synch with the code in Fetchmail, but the latter has diverged since. */ -#ifdef HAVE_CONFIG_H -# include -#endif +#include "wget.h" #include #include #include #include -#include "wget.h" #include "utils.h" #include "netrc.h" #include "init.h" @@ -68,6 +65,21 @@ search_netrc (const char *host, const char **acc, const char **passwd, /* Find ~/.netrc. */ if (!processed_netrc) { +#ifdef __VMS + + int err; + struct_stat buf; + char *path = "SYS$LOGIN:.netrc"; + + netrc_list = NULL; + processed_netrc = 1; + + err = stat (path, &buf); + if (err == 0) + netrc_list = parse_netrc (path); + +#else /* def __VMS */ + char *home = home_dir (); netrc_list = NULL; @@ -84,6 +96,8 @@ search_netrc (const char *host, const char **acc, const char **passwd, if (err == 0) netrc_list = parse_netrc (path); } + +#endif /* def __VMS [else] */ } /* If nothing to do... */ if (!netrc_list) @@ -284,7 +298,7 @@ parse_netrc (const char *path) quote = 0; /* Skip leading whitespace. */ - while (*p && ISSPACE (*p)) + while (*p && c_isspace (*p)) p ++; /* If the line is empty, then end any macro definition. */ @@ -296,7 +310,7 @@ parse_netrc (const char *path) while (*p && last_token != tok_macdef) { /* Skip any whitespace. */ - while (*p && ISSPACE (*p)) + while (*p && c_isspace (*p)) p ++; /* Discard end-of-line comments; also, stop processing if @@ -314,7 +328,7 @@ parse_netrc (const char *path) tok = p; /* Find the end of the token, handling quotes and escapes. */ - while (*p && (quote ? *p != '"' : !ISSPACE (*p))){ + while (*p && (quote ? *p != '"' : !c_isspace (*p))){ if (*p == '\\') shift_left (p); p ++; @@ -374,8 +388,8 @@ parse_netrc (const char *path) if (premature_token) { fprintf (stderr, _("\ -%s: %s:%d: warning: \"%s\" token appears before any machine name\n"), - exec_name, path, ln, premature_token); +%s: %s:%d: warning: %s token appears before any machine name\n"), + exec_name, path, ln, quote (premature_token)); premature_token = NULL; }