[Xfce4-commits] <midori:master> Add make_tmp_dir to Midori.Paths API

Christian Dywan noreply at xfce.org
Tue Nov 20 00:24:01 CET 2012


Updating branch refs/heads/master
         to 79036e359f20086c16d969400e7037299f9a164d (commit)
       from 9f1314f67531b6d56f004627290303f01c8783d6 (commit)

commit 79036e359f20086c16d969400e7037299f9a164d
Author: Christian Dywan <christian at twotoasts.de>
Date:   Tue Nov 20 00:20:33 2012 +0100

    Add make_tmp_dir to Midori.Paths API
    
    GLib's make_tmp requires 2.30 but mkdtemp isn't portable.

 katze/midori-paths.vala |   16 ++++++++++++++++
 tests/browser.c         |    2 +-
 tests/download.vala     |    3 ++-
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/katze/midori-paths.vala b/katze/midori-paths.vala
index 992cb88..86b3cdd 100644
--- a/katze/midori-paths.vala
+++ b/katze/midori-paths.vala
@@ -167,6 +167,22 @@ namespace Midori {
             return tmp_dir;
         }
 
+        public static string make_tmp_dir (string tmpl) {
+            assert (tmp_dir != null);
+#if HAVE_GLIB_2_30
+            try {
+                return DirUtils.make_tmp (tmpl);
+            }
+            catch (Error error) {
+                GLib.error (error.message);
+            }
+#else
+            string folder = Path.build_path (Path.DIR_SEPARATOR_S, tmp_dir, tmpl);
+            DirUtils.mkdtemp (folder);
+            return folder;
+#endif
+        }
+
         public static void init_exec_path (string[] new_command_line) {
             assert (command_line == null);
             command_line = new_command_line;
diff --git a/tests/browser.c b/tests/browser.c
index 467fd0f..266d807 100644
--- a/tests/browser.c
+++ b/tests/browser.c
@@ -52,7 +52,7 @@ browser_create (void)
     view = midori_browser_get_nth_tab (browser, n);
 
     midori_test_set_dialog_response (GTK_RESPONSE_OK);
-    temporary_downloads = mkdtemp (g_strconcat (g_get_tmp_dir (), "/saveXXXXXX", NULL));
+    temporary_downloads = midori_paths_make_tmp_dir ("saveXXXXXX");
     temporary_filename = g_build_filename (temporary_downloads, "test.html", NULL);
     midori_test_set_file_chooser_filename (temporary_filename);
     midori_settings_set_download_folder (MIDORI_SETTINGS (settings), temporary_downloads);
diff --git a/tests/download.vala b/tests/download.vala
index 5e380a7..b05d63c 100644
--- a/tests/download.vala
+++ b/tests/download.vala
@@ -39,7 +39,7 @@ static void download_extension () {
 }
 
 static void download_unique () {
-    string folder = Environment.get_tmp_dir () + "/cacheXXXXXX"; DirUtils.mkdtemp (folder);
+    string folder = Midori.Paths.make_tmp_dir ("cacheXXXXXX");
     string filename = Path.build_path (Path.DIR_SEPARATOR_S, folder, "foo.png");
     string org_filename = Path.build_path (Path.DIR_SEPARATOR_S, folder, "foo.png");
     string unique = Midori.Download.get_unique_filename (org_filename);
@@ -65,6 +65,7 @@ static void download_unique () {
 
 void main (string[] args) {
     Test.init (ref args);
+    Midori.Paths.init (Midori.RuntimeMode.NORMAL, null);
     Test.add_func ("/download/suggestion", download_suggestion);
     Test.add_func ("/download/extension", download_extension);
     Test.add_func ("/download/unique", download_unique);


More information about the Xfce4-commits mailing list