]> spindle.queued.net Git - midori/commitdiff
Proper extension fallback for temporary files
authorChristian Dywan <christian@twotoasts.de>
Sun, 9 Sep 2012 19:11:13 +0000 (21:11 +0200)
committerChristian Dywan <christian@twotoasts.de>
Sun, 9 Sep 2012 20:34:33 +0000 (22:34 +0200)
midori/midori-download.vala
midori/midori-view.c

index ce9003c31f49ad13e2f03e820716e604fb830eee..cd294fbd85076aa951a8ec89b0b599a94499fd2c 100644 (file)
@@ -223,8 +223,8 @@ namespace Midori {
             /* Try to provide a good default filename, UTF-8 encoded */
             string filename = clean_filename (Soup.URI.decode (uri));
             /* Take the rest of the URI if needed */
-            if (filename.has_suffix ("/"))
-                return filename + fallback_extension (null, mime_type);
+            if (filename.has_suffix ("/") || uri.index_of_char ('.') == -1)
+                return Path.build_filename (filename, fallback_extension (null, mime_type));
             return filename;
         }
 
index 808d34c26987421864c66ee3c9ceb09fbf879822..22e1637c5eecb135584ddaedfdffa78f685dfd01 100644 (file)
@@ -5470,7 +5470,7 @@ midori_view_save_source (MidoriView* view,
     {
         gchar* extension = midori_download_get_extension_for_uri (uri, NULL);
         unique_filename = g_strdup_printf ("%s/%uXXXXXX%s", midori_paths_get_tmp_dir (),
-            g_str_hash (uri), midori_download_fallback_extension (view->mime_type, extension));
+            g_str_hash (uri), midori_download_fallback_extension (extension, view->mime_type));
         g_free (extension);
         katze_mkdir_with_parents (midori_paths_get_tmp_dir (), 0700);
         fd = g_mkstemp (unique_filename);