]> sjero.net Git - wget/blobdiff - src/main.c
Quote some things that needed quoting.
[wget] / src / main.c
index 69df08a73d443c1f8192a88988c67422be1fd4a6..d7e2fbb97b4aae1065f1d09720c7ff4bff345a25 100644 (file)
@@ -1203,7 +1203,14 @@ WARNING: Can't reopen standard output in binary mode;\n\
     {
       char *filename = NULL, *redirected_URL = NULL;
       int dt, url_err;
-      struct url *url_parsed = url_parse (*t, &url_err, NULL, false);
+      /* Need to do a new struct iri every time, because
+       * retrieve_url may modify it in some circumstances,
+       * currently. */
+      struct iri *iri = iri_new ();
+      struct url *url_parsed;
+
+      set_uri_encoding (iri, opt.locale, true);
+      url_parsed = url_parse (*t, &url_err, iri, true);
 
       if (!url_parsed)
         {
@@ -1229,11 +1236,8 @@ WARNING: Can't reopen standard output in binary mode;\n\
             }
           else
           {
-            struct iri *i = iri_new ();
-            set_uri_encoding (i, opt.locale, true);
             status = retrieve_url (url_parsed, *t, &filename, &redirected_URL,
-                                   NULL, &dt, opt.recursive, i);
-            iri_free (i);
+                                   NULL, &dt, opt.recursive, iri);
           }
 
           if (opt.delete_after && file_exists_p(filename))
@@ -1247,6 +1251,7 @@ WARNING: Can't reopen standard output in binary mode;\n\
           xfree_null (filename);
           url_free (url_parsed);
         }
+      iri_free (iri);
     }
 
   /* And then from the input file, if any.  */