mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
Cleanup/bugfix for tilde patch.
This commit is contained in:
parent
ca397aa5b0
commit
e991f13267
@ -1,3 +1,9 @@
|
||||
2009-06-13 Micah Cowan <micah@cowan.name>
|
||||
|
||||
* init.c: Rename setval_internal_wrapper to setval_internal_tilde,
|
||||
ensure we don't "replace" the tilde unless it's actually
|
||||
present. Clean up some minor GNU style issues.
|
||||
|
||||
2009-06-13 Julien Pichon <julienpichon7@gmail.com>
|
||||
|
||||
* init.c: Handle tilde-expansion in wgetrc commands, without
|
||||
|
17
src/init.c
17
src/init.c
@ -468,7 +468,7 @@ enum parse_line {
|
||||
|
||||
static enum parse_line parse_line (const char *, char **, char **, int *);
|
||||
static bool setval_internal (int, const char *, const char *);
|
||||
static bool setval_internal_wrapper (int, const char *, const char *);
|
||||
static bool setval_internal_tilde (int, const char *, const char *);
|
||||
|
||||
/* Initialize variables from a wgetrc file. Returns zero (failure) if
|
||||
there were errors in the file. */
|
||||
@ -499,7 +499,7 @@ run_wgetrc (const char *file)
|
||||
{
|
||||
case line_ok:
|
||||
/* If everything is OK, set the value. */
|
||||
if (!setval_internal_wrapper (comind, com, val))
|
||||
if (!setval_internal_tilde (comind, com, val))
|
||||
{
|
||||
fprintf (stderr, _("%s: Error in %s at line %d.\n"),
|
||||
exec_name, file, ln);
|
||||
@ -679,7 +679,7 @@ setval_internal (int comind, const char *com, const char *val)
|
||||
}
|
||||
|
||||
static bool
|
||||
setval_internal_wrapper (int comind, const char *com, const char *val)
|
||||
setval_internal_tilde (int comind, const char *com, const char *val)
|
||||
{
|
||||
bool ret;
|
||||
int homelen;
|
||||
@ -689,18 +689,19 @@ setval_internal_wrapper (int comind, const char *com, const char *val)
|
||||
|
||||
/* We make tilde expansion for cmd_file and cmd_directory */
|
||||
if (((commands[comind].action == cmd_file) ||
|
||||
(commands[comind].action == cmd_directory)) && ret)
|
||||
(commands[comind].action == cmd_directory))
|
||||
&& ret && (*val == '~' && ISSEP (val[1])))
|
||||
{
|
||||
pstring = commands[comind].place;
|
||||
home = home_dir();
|
||||
home = home_dir ();
|
||||
if (home)
|
||||
{
|
||||
homelen = strlen(home);
|
||||
while (homelen && ISSEP(home[homelen - 1]))
|
||||
homelen = strlen (home);
|
||||
while (homelen && ISSEP (home[homelen - 1]))
|
||||
home[--homelen] = '\0';
|
||||
|
||||
/* Skip the leading "~/". */
|
||||
for (++val; ISSEP(*val); val++)
|
||||
for (++val; ISSEP (*val); val++)
|
||||
;
|
||||
*pstring = concat_strings (home, "/", val, (char *)0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user