mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
Do not use PATH_MAX.
This commit is contained in:
parent
1e09ee5ea8
commit
e24571d336
@ -1,3 +1,7 @@
|
||||
2011-07-26 Carlos Martín Nieto <carlos@cmartin.tk> (tiny change)
|
||||
|
||||
* init.c (home_dir): Allocate path buffer dinamically.
|
||||
|
||||
2011-07-26 Giuseppe Scrivano <gscrivano@southpole.se>
|
||||
|
||||
* retr.c (retrieve_url): Do not register redirects when in spider mode.
|
||||
|
27
src/init.c
27
src/init.c
@ -366,8 +366,9 @@ defaults (void)
|
||||
char *
|
||||
home_dir (void)
|
||||
{
|
||||
static char buf[PATH_MAX];
|
||||
static char *home;
|
||||
static char *buf = NULL;
|
||||
static char *home, *ret;
|
||||
int len;
|
||||
|
||||
if (!home)
|
||||
{
|
||||
@ -380,12 +381,21 @@ home_dir (void)
|
||||
const char *_w32_get_argv0 (void); /* in libwatt.a/pcconfig.c */
|
||||
char *p;
|
||||
|
||||
strcpy (buf, _w32_get_argv0 ());
|
||||
buff = _w32_get_argv0 ();
|
||||
|
||||
p = strrchr (buf, '/'); /* djgpp */
|
||||
if (!p)
|
||||
p = strrchr (buf, '\\'); /* others */
|
||||
assert (p);
|
||||
*p = '\0';
|
||||
|
||||
len = p - buff + 1;
|
||||
buff = malloc (len + 1);
|
||||
if (buff == NULL)
|
||||
return NULL;
|
||||
|
||||
strncpy (buff, _w32_get_argv0 (), len);
|
||||
buff[len] = '\0';
|
||||
|
||||
home = buf;
|
||||
#elif !defined(WINDOWS)
|
||||
/* If HOME is not defined, try getting it from the password
|
||||
@ -393,8 +403,7 @@ home_dir (void)
|
||||
struct passwd *pwd = getpwuid (getuid ());
|
||||
if (!pwd || !pwd->pw_dir)
|
||||
return NULL;
|
||||
strcpy (buf, pwd->pw_dir);
|
||||
home = buf;
|
||||
home = pwd->pw_dir;
|
||||
#else /* !WINDOWS */
|
||||
/* Under Windows, if $HOME isn't defined, use the directory where
|
||||
`wget.exe' resides. */
|
||||
@ -403,7 +412,11 @@ home_dir (void)
|
||||
}
|
||||
}
|
||||
|
||||
return home ? xstrdup (home) : NULL;
|
||||
ret = home ? xstrdup (home) : NULL;
|
||||
if (buf)
|
||||
free (buf);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Check the 'WGETRC' environment variable and return the file name
|
||||
|
Loading…
Reference in New Issue
Block a user