[Xfce4-commits] <thunar:master> Use glib functions for get/set cwd (bug #7522).

Nick Schermer noreply at xfce.org
Thu Apr 21 17:54:01 CEST 2011


Updating branch refs/heads/master
         to 9b80264fa596e18468066ffb3f03804421f3872e (commit)
       from a02ba13184390696d59c7e6e28cb449526571d65 (commit)

commit 9b80264fa596e18468066ffb3f03804421f3872e
Author: Yves-Alexis Perez <corsac at debian.org>
Date:   Thu Apr 21 16:59:40 2011 +0200

    Use glib functions for get/set cwd (bug #7522).
    
    MAXPATHLEN isn't defined on all platforms and there
    are glib functions to handle the platform specific code.

 thunar/thunar-util.c |   22 ++++------------------
 1 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/thunar/thunar-util.c b/thunar/thunar-util.c
index b49a954..577bc27 100644
--- a/thunar/thunar-util.c
+++ b/thunar/thunar-util.c
@@ -57,6 +57,8 @@
 #include <thunar/thunar-private.h>
 #include <thunar/thunar-util.h>
 
+#include <glib.h>
+#include <glib/gstdio.h>
 
 
 /**
@@ -404,27 +406,11 @@ thunar_util_change_working_directory (const gchar *new_directory)
 
   _thunar_return_val_if_fail (new_directory != NULL && *new_directory != '\0', NULL);
 
-  /* allocate a path buffer for the old working directory */
-  old_directory = g_malloc0 (sizeof (gchar) * MAXPATHLEN);
-
   /* try to determine the current working directory */
-#ifdef G_PLATFORM_WIN32
-  if (_getcwd (old_directory, MAXPATHLEN) == NULL)
-#else
-  if (getcwd (old_directory, MAXPATHLEN) == NULL)
-#endif
-    {
-      /* working directory couldn't be determined, reset the buffer */
-      g_free (old_directory);
-      old_directory = NULL;
-    }
+  old_directory = g_get_current_dir();
 
   /* try switching to the new working directory */
-#ifdef G_PLATFORM_WIN32
-  if (_chdir (new_directory) != 0)
-#else
-  if (chdir (new_directory) != 0)
-#endif
+  if (g_chdir (new_directory) != 0)
     {
       /* switching failed, we don't need to return the old directory */
       g_free (old_directory);



More information about the Xfce4-commits mailing list