]> sjero.net Git - wget/blobdiff - src/init.c
Quote some things that needed quoting.
[wget] / src / init.c
index da900cce926dcf978f9a50a89cb4bef48e7e5a95..23f8cb2cfd954271e8f49107ac761a5cb0a69ba3 100644 (file)
@@ -177,9 +177,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 +221,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 +331,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
@@ -468,7 +479,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 +510,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 +690,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 +700,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);
        }