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>
|
2009-06-13 Julien Pichon <julienpichon7@gmail.com>
|
||||||
|
|
||||||
* init.c: Handle tilde-expansion in wgetrc commands, without
|
* 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 enum parse_line parse_line (const char *, char **, char **, int *);
|
||||||
static bool setval_internal (int, const char *, const char *);
|
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
|
/* Initialize variables from a wgetrc file. Returns zero (failure) if
|
||||||
there were errors in the file. */
|
there were errors in the file. */
|
||||||
@ -499,7 +499,7 @@ run_wgetrc (const char *file)
|
|||||||
{
|
{
|
||||||
case line_ok:
|
case line_ok:
|
||||||
/* If everything is OK, set the value. */
|
/* 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"),
|
fprintf (stderr, _("%s: Error in %s at line %d.\n"),
|
||||||
exec_name, file, ln);
|
exec_name, file, ln);
|
||||||
@ -679,7 +679,7 @@ setval_internal (int comind, const char *com, const char *val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
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;
|
bool ret;
|
||||||
int homelen;
|
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 */
|
/* We make tilde expansion for cmd_file and cmd_directory */
|
||||||
if (((commands[comind].action == cmd_file) ||
|
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;
|
pstring = commands[comind].place;
|
||||||
home = home_dir();
|
home = home_dir ();
|
||||||
if (home)
|
if (home)
|
||||||
{
|
{
|
||||||
homelen = strlen(home);
|
homelen = strlen (home);
|
||||||
while (homelen && ISSEP(home[homelen - 1]))
|
while (homelen && ISSEP (home[homelen - 1]))
|
||||||
home[--homelen] = '\0';
|
home[--homelen] = '\0';
|
||||||
|
|
||||||
/* Skip the leading "~/". */
|
/* Skip the leading "~/". */
|
||||||
for (++val; ISSEP(*val); val++)
|
for (++val; ISSEP (*val); val++)
|
||||||
;
|
;
|
||||||
*pstring = concat_strings (home, "/", val, (char *)0);
|
*pstring = concat_strings (home, "/", val, (char *)0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user