]> sjero.net Git - wget/blobdiff - src/init.c
Automated merge.
[wget] / src / init.c
index bbe6b585a74926a2a1d9cb0f59e0bd3529a6016b..879d3aac80b27a419cdd9154128fe8cfaf2fe74b 100644 (file)
@@ -157,6 +157,9 @@ static const struct {
   { "ftppasswd",        &opt.ftp_passwd,        cmd_string }, /* deprecated */
   { "ftppassword",      &opt.ftp_passwd,        cmd_string },
   { "ftpproxy",         &opt.ftp_proxy,         cmd_string },
+#ifdef __VMS
+  { "ftpstmlf",         &opt.ftp_stmlf,         cmd_boolean },
+#endif /* def __VMS */
   { "ftpuser",          &opt.ftp_user,          cmd_string },
   { "glob",             &opt.ftp_glob,          cmd_boolean },
   { "header",           NULL,                   cmd_spec_header },
@@ -177,9 +180,11 @@ static const struct {
   { "inet6only",        &opt.ipv6_only,         cmd_boolean },
 #endif
   { "input",            &opt.input_filename,    cmd_file },
+  { "iri",              &opt.enable_iri,        cmd_boolean },
   { "keepsessioncookies", &opt.keep_session_cookies, cmd_boolean },
   { "limitrate",        &opt.limit_rate,        cmd_bytes },
   { "loadcookies",      &opt.cookies_input,     cmd_file },
+  { "locale",           &opt.locale,            cmd_string },
   { "logfile",          &opt.lfilename,         cmd_file },
   { "login",            &opt.ftp_user,          cmd_string },/* deprecated*/
   { "maxredirect",      &opt.max_redirect,      cmd_number },
@@ -219,6 +224,7 @@ static const struct {
   { "referer",          &opt.referer,           cmd_string },
   { "reject",           &opt.rejects,           cmd_vector },
   { "relativeonly",     &opt.relative_only,     cmd_boolean },
+  { "remoteencoding",   &opt.encoding_remote,   cmd_string },
   { "removelisting",    &opt.remove_listing,    cmd_boolean },
   { "restrictfilenames", NULL,                  cmd_spec_restrict_file_names },
   { "retrsymlinks",     &opt.retr_symlinks,     cmd_boolean },
@@ -328,6 +334,14 @@ defaults (void)
   opt.max_redirect = 20;
 
   opt.waitretry = 10;
+
+#ifdef ENABLE_IRI
+  opt.enable_iri = true;
+#else
+  opt.enable_iri = false;
+#endif
+  opt.locale = NULL;
+  opt.encoding_remote = NULL;
 }
 \f
 /* Return the user's home directory (strdup-ed), or NULL if none is
@@ -403,9 +417,17 @@ wgetrc_user_file_name (void)
 {
   char *home = home_dir ();
   char *file = NULL;
+  /* If that failed, try $HOME/.wgetrc (or equivalent).  */
+
+#ifdef __VMS
+  file = "SYS$LOGIN:.wgetrc";
+#else /* def __VMS */
+  home = home_dir ();
   if (home)
     file = aprintf ("%s/.wgetrc", home);
   xfree_null (home);
+#endif /* def __VMS [else] */
+
   if (!file)
     return NULL;
   if (!file_exists_p (file))
@@ -424,7 +446,6 @@ wgetrc_user_file_name (void)
 char *
 wgetrc_file_name (void)
 {
-  char *home = NULL;
   char *file = wgetrc_env_file_name ();
   if (file && *file)
     return file;
@@ -436,25 +457,25 @@ wgetrc_file_name (void)
      `wget.ini' in the directory where `wget.exe' resides; we do this for
      backward compatibility with previous versions of Wget.
      SYSTEM_WGETRC should not be defined under WINDOWS.  */
-  home = home_dir ();
-  if (!file || !file_exists_p (file))
+  if (!file)
     {
+      char *home = home_dir ();
       xfree_null (file);
       file = NULL;
       home = ws_mypath ();
       if (home)
-        file = aprintf ("%s/wget.ini", home);
+        {
+          file = aprintf ("%s/wget.ini", home);
+          if (!file_exists_p (file))
+            {
+              xfree (file);
+              file = NULL;
+            }
+          xfree (home);
+        }
     }
-  xfree_null (home);
 #endif /* WINDOWS */
 
-  if (!file)
-    return NULL;
-  if (!file_exists_p (file))
-    {
-      xfree (file);
-      return NULL;
-    }
   return file;
 }
 
@@ -481,7 +502,7 @@ run_wgetrc (const char *file)
   int ln;
   int errcnt = 0;
 
-  fp = fopen (file, "rb");
+  fp = fopen (file, "r");
   if (!fp)
     {
       fprintf (stderr, _("%s: Cannot read %s (%s).\n"), exec_name,