X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Finit.c;h=277d4a74b5c26c5f95129bd3ed5cd9313edea07f;hp=16a4d9d29438e1bd288bd36ca9903fb6dcce1b10;hb=2f6aa1d7417df1dfc58597777686fbd77179b9fd;hpb=7585b7019d5909428a477002579366a507e42b58 diff --git a/src/init.c b/src/init.c index 16a4d9d2..277d4a74 100644 --- a/src/init.c +++ b/src/init.c @@ -1,6 +1,7 @@ /* Reading/parsing the initialization file. - Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, + Inc. This file is part of GNU Wget. @@ -32,9 +33,8 @@ as that of the covered work. */ #include #include -#ifdef HAVE_UNISTD_H -# include -#endif +#include +#include #include #include #include @@ -136,6 +136,7 @@ static const struct { { "certificatetype", &opt.cert_type, cmd_cert_type }, { "checkcertificate", &opt.check_cert, cmd_boolean }, #endif + { "chooseconfig", &opt.choose_config, cmd_file }, { "connecttimeout", &opt.connect_timeout, cmd_time }, { "contentdisposition", &opt.content_disposition, cmd_boolean }, { "continue", &opt.always_rest, cmd_boolean }, @@ -252,6 +253,8 @@ static const struct { { "timeout", NULL, cmd_spec_timeout }, { "timestamping", &opt.timestamping, cmd_boolean }, { "tries", &opt.ntry, cmd_number_inf }, + { "trustservernames", &opt.trustservernames, cmd_boolean }, + { "unlink", &opt.unlink, cmd_boolean }, { "useproxy", &opt.use_proxy, cmd_boolean }, { "user", &opt.user, cmd_string }, { "useragent", NULL, cmd_spec_useragent }, @@ -289,7 +292,7 @@ command_by_name (const char *cmdname) } /* Reset the variables to default values. */ -static void +void defaults (void) { char *tmp; @@ -429,7 +432,7 @@ wgetrc_env_file_name (void) char * wgetrc_user_file_name (void) { - char *home = home_dir (); + char *home; char *file = NULL; /* If that failed, try $HOME/.wgetrc (or equivalent). */ @@ -508,7 +511,7 @@ 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. */ -static bool +bool run_wgetrc (const char *file) { FILE *fp; @@ -572,10 +575,7 @@ void initialize (void) { char *file, *env_sysrc; - int ok = true; - - /* Load the hard-coded defaults. */ - defaults (); + bool ok = true; /* Run a non-standard system rc file when the according environment variable has been set. For internal testing purposes only! */ @@ -587,6 +587,15 @@ initialize (void) else if (file_exists_p (SYSTEM_WGETRC)) ok &= run_wgetrc (SYSTEM_WGETRC); #endif + /* If there are any problems parsing the system wgetrc file, tell + the user and exit */ + if (! ok) + { + fprintf (stderr, _("\ +Parsing system wgetrc file failed, please check '%s'. \ +Or specify a different file using --config\n"), SYSTEM_WGETRC); + exit (2); + } /* Override it with your own, if one exists. */ file = wgetrc_file_name (); if (!file) @@ -1576,6 +1585,7 @@ cleanup (void) extern acc_t *netrc_list; free_netrc (netrc_list); } + xfree_null (opt.choose_config); xfree_null (opt.lfilename); xfree_null (opt.dir_prefix); xfree_null (opt.input_filename);