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>
|
2011-07-26 Giuseppe Scrivano <gscrivano@southpole.se>
|
||||||
|
|
||||||
* retr.c (retrieve_url): Do not register redirects when in spider mode.
|
* 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 *
|
char *
|
||||||
home_dir (void)
|
home_dir (void)
|
||||||
{
|
{
|
||||||
static char buf[PATH_MAX];
|
static char *buf = NULL;
|
||||||
static char *home;
|
static char *home, *ret;
|
||||||
|
int len;
|
||||||
|
|
||||||
if (!home)
|
if (!home)
|
||||||
{
|
{
|
||||||
@ -380,12 +381,21 @@ home_dir (void)
|
|||||||
const char *_w32_get_argv0 (void); /* in libwatt.a/pcconfig.c */
|
const char *_w32_get_argv0 (void); /* in libwatt.a/pcconfig.c */
|
||||||
char *p;
|
char *p;
|
||||||
|
|
||||||
strcpy (buf, _w32_get_argv0 ());
|
buff = _w32_get_argv0 ();
|
||||||
|
|
||||||
p = strrchr (buf, '/'); /* djgpp */
|
p = strrchr (buf, '/'); /* djgpp */
|
||||||
if (!p)
|
if (!p)
|
||||||
p = strrchr (buf, '\\'); /* others */
|
p = strrchr (buf, '\\'); /* others */
|
||||||
assert (p);
|
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;
|
home = buf;
|
||||||
#elif !defined(WINDOWS)
|
#elif !defined(WINDOWS)
|
||||||
/* If HOME is not defined, try getting it from the password
|
/* If HOME is not defined, try getting it from the password
|
||||||
@ -393,8 +403,7 @@ home_dir (void)
|
|||||||
struct passwd *pwd = getpwuid (getuid ());
|
struct passwd *pwd = getpwuid (getuid ());
|
||||||
if (!pwd || !pwd->pw_dir)
|
if (!pwd || !pwd->pw_dir)
|
||||||
return NULL;
|
return NULL;
|
||||||
strcpy (buf, pwd->pw_dir);
|
home = pwd->pw_dir;
|
||||||
home = buf;
|
|
||||||
#else /* !WINDOWS */
|
#else /* !WINDOWS */
|
||||||
/* Under Windows, if $HOME isn't defined, use the directory where
|
/* Under Windows, if $HOME isn't defined, use the directory where
|
||||||
`wget.exe' resides. */
|
`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
|
/* Check the 'WGETRC' environment variable and return the file name
|
||||||
|
Loading…
Reference in New Issue
Block a user