X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=src%2Finit.c;h=5a05d035cbb061885490c618de27dfa8e9dd2adc;hb=4a08094db88011153adadbf995103770b20d2a31;hp=d747906971c1246f9a59b753960cb5391584c4fe;hpb=25a3d032faa467a7dabbcb96d5e772202bd0b387;p=wget diff --git a/src/init.c b/src/init.c index d7479069..5a05d035 100644 --- a/src/init.c +++ b/src/init.c @@ -107,6 +107,7 @@ static const struct { /* KEEP THIS LIST ALPHABETICALLY SORTED */ { "accept", &opt.accepts, cmd_vector }, { "addhostdir", &opt.add_hostdir, cmd_boolean }, + { "adjustextension", &opt.adjust_extension, cmd_boolean }, { "alwaysrest", &opt.always_rest, cmd_boolean }, /* deprecated */ { "askpassword", &opt.ask_passwd, cmd_boolean }, { "authnochallenge", &opt.auth_without_challenge, @@ -163,7 +164,7 @@ static const struct { { "ftpuser", &opt.ftp_user, cmd_string }, { "glob", &opt.ftp_glob, cmd_boolean }, { "header", NULL, cmd_spec_header }, - { "htmlextension", &opt.html_extension, cmd_boolean }, + { "htmlextension", &opt.adjust_extension, cmd_boolean }, /* deprecated */ { "htmlify", NULL, cmd_spec_htmlify }, { "httpkeepalive", &opt.http_keep_alive, cmd_boolean }, { "httppasswd", &opt.http_passwd, cmd_string }, /* deprecated */ @@ -184,7 +185,7 @@ static const struct { { "keepsessioncookies", &opt.keep_session_cookies, cmd_boolean }, { "limitrate", &opt.limit_rate, cmd_bytes }, { "loadcookies", &opt.cookies_input, cmd_file }, - { "locale", &opt.locale, cmd_string }, + { "localencoding", &opt.locale, cmd_string }, { "logfile", &opt.lfilename, cmd_file }, { "login", &opt.ftp_user, cmd_string },/* deprecated*/ { "maxredirect", &opt.max_redirect, cmd_number }, @@ -202,7 +203,7 @@ static const struct { { "postdata", &opt.post_data, cmd_string }, { "postfile", &opt.post_file_name, cmd_file }, { "preferfamily", NULL, cmd_spec_prefer_family }, - { "preservepermissions", &opt.preserve_perm, cmd_boolean }, + { "preservepermissions", &opt.preserve_perm, cmd_boolean },/* deprecated */ #ifdef HAVE_SSL { "privatekey", &opt.private_key, cmd_file }, { "privatekeytype", &opt.private_key_type, cmd_cert_type }, @@ -248,7 +249,7 @@ static const struct { { "verbose", NULL, cmd_spec_verbose }, { "wait", &opt.wait, cmd_time }, { "waitretry", &opt.waitretry, cmd_time }, -#ifdef MSDOS +#ifdef USE_WATT32 { "wdebug", &opt.wdebug, cmd_boolean }, #endif }; @@ -329,6 +330,7 @@ defaults (void) opt.restrict_files_os = restrict_unix; #endif opt.restrict_files_ctrl = true; + opt.restrict_files_nonascii = false; opt.restrict_files_case = restrict_no_case_restriction; opt.max_redirect = 20; @@ -389,12 +391,12 @@ home_dir (void) return home ? xstrdup (home) : NULL; } -/* Check the 'WGETRC' environment variable and return the file name - if 'WGETRC' is set and is a valid file. +/* Check the 'WGETRC' environment variable and return the file name + if 'WGETRC' is set and is a valid file. If the `WGETRC' variable exists but the file does not exist, the function will exit(). */ char * -wgetrc_env_file_name (void) +wgetrc_env_file_name (void) { char *env = getenv ("WGETRC"); if (env && *env) @@ -413,7 +415,7 @@ wgetrc_env_file_name (void) /* Check for the existance of '$HOME/.wgetrc' and return it's path if it exists and is set. */ char * -wgetrc_user_file_name (void) +wgetrc_user_file_name (void) { char *home = home_dir (); char *file = NULL; @@ -441,7 +443,7 @@ wgetrc_user_file_name (void) /* Return the path to the user's .wgetrc. This is either the value of `WGETRC' environment variable, or `$HOME/.wgetrc'. - Additionally, for windows, look in the directory where wget.exe + Additionally, for windows, look in the directory where wget.exe resides. */ char * wgetrc_file_name (void) @@ -449,7 +451,7 @@ wgetrc_file_name (void) char *file = wgetrc_env_file_name (); if (file && *file) return file; - + file = wgetrc_user_file_name (); #ifdef WINDOWS @@ -562,8 +564,8 @@ initialize (void) /* Load the hard-coded defaults. */ defaults (); - - /* Run a non-standard system rc file when the according environment + + /* Run a non-standard system rc file when the according environment variable has been set. For internal testing purposes only! */ env_sysrc = getenv ("SYSTEM_WGETRC"); if (env_sysrc && file_exists_p (env_sysrc)) @@ -1275,6 +1277,7 @@ cmd_spec_restrict_file_names (const char *com, const char *val, void *place_igno int restrict_os = opt.restrict_files_os; int restrict_ctrl = opt.restrict_files_ctrl; int restrict_case = opt.restrict_files_case; + int restrict_nonascii = opt.restrict_files_nonascii; const char *end; @@ -1285,7 +1288,7 @@ cmd_spec_restrict_file_names (const char *com, const char *val, void *place_igno end = strchr (val, ','); if (!end) end = val + strlen (val); - + if (VAL_IS ("unix")) restrict_os = restrict_unix; else if (VAL_IS ("windows")) @@ -1296,15 +1299,18 @@ cmd_spec_restrict_file_names (const char *com, const char *val, void *place_igno restrict_case = restrict_uppercase; else if (VAL_IS ("nocontrol")) restrict_ctrl = false; + else if (VAL_IS ("ascii")) + restrict_nonascii = true; else { - fprintf (stderr, - _("%s: %s: Invalid restriction %s, use [unix|windows],[lowercase|uppercase],[nocontrol].\n"), + fprintf (stderr, _("\ +%s: %s: Invalid restriction %s,\n\ + use [unix|windows],[lowercase|uppercase],[nocontrol],[ascii].\n"), exec_name, com, quote (val)); return false; } - if (*end) + if (*end) val = end + 1; } while (*val && *end); @@ -1314,7 +1320,8 @@ cmd_spec_restrict_file_names (const char *com, const char *val, void *place_igno opt.restrict_files_os = restrict_os; opt.restrict_files_ctrl = restrict_ctrl; opt.restrict_files_case = restrict_case; - + opt.restrict_files_nonascii = restrict_nonascii; + return true; } @@ -1594,7 +1601,7 @@ cleanup (void) xfree_null (opt.user); xfree_null (opt.passwd); xfree_null (opt.base_href); - + #endif /* DEBUG_MALLOC */ } @@ -1615,9 +1622,9 @@ test_commands_sorted() { mu_assert ("FAILED", false); break; - } + } else - { + { prev_idx ++; next_idx ++; } @@ -1641,11 +1648,11 @@ test_cmd_spec_restrict_file_names() { "windows,lowercase", restrict_windows, true, restrict_lowercase, true }, { "unix,nocontrol,lowercase,", restrict_unix, false, restrict_lowercase, true }, }; - - for (i = 0; i < sizeof(test_array)/sizeof(test_array[0]); ++i) + + for (i = 0; i < sizeof(test_array)/sizeof(test_array[0]); ++i) { bool res; - + defaults(); res = cmd_spec_restrict_file_names ("dummy", test_array[i].val, NULL); @@ -1655,10 +1662,10 @@ test_cmd_spec_restrict_file_names() fprintf (stderr, "opt.restrict_files_ctrl: %d\n", opt.restrict_files_ctrl); fflush (stderr); fprintf (stderr, "opt.restrict_files_case: %d\n", opt.restrict_files_case); fflush (stderr); */ - mu_assert ("test_cmd_spec_restrict_file_names: wrong result", + mu_assert ("test_cmd_spec_restrict_file_names: wrong result", res == test_array[i].result - && opt.restrict_files_os == test_array[i].expected_restrict_files_os - && opt.restrict_files_ctrl == test_array[i].expected_restrict_files_ctrl + && opt.restrict_files_os == test_array[i].expected_restrict_files_os + && opt.restrict_files_ctrl == test_array[i].expected_restrict_files_ctrl && opt.restrict_files_case == test_array[i].expected_restrict_files_case); }