gedit r6691 - branches/win32/gedit



Author: pborelli
Date: Mon Dec 22 22:41:34 2008
New Revision: 6691
URL: http://svn.gnome.org/viewvc/gedit?rev=6691&view=rev

Log:
make sure the cache dir exists before saving the metadata file


Modified:
   branches/win32/gedit/gedit-dirs.c
   branches/win32/gedit/gedit-dirs.h
   branches/win32/gedit/gedit-metadata-manager.c

Modified: branches/win32/gedit/gedit-dirs.c
==============================================================================
--- branches/win32/gedit/gedit-dirs.c	(original)
+++ branches/win32/gedit/gedit-dirs.c	Mon Dec 22 22:41:34 2008
@@ -25,6 +25,8 @@
 gchar *
 gedit_dirs_get_config_dir ()
 {
+	gchar *config_dir = NULL;
+
 #ifndef G_OS_WIN32
 	const gchar *home;
 	
@@ -32,14 +34,27 @@
 	
 	if (home != NULL)
 	{
-		return g_build_filename (home,
-					 ".gnome2",
-					 NULL);
+		config_dir = g_build_filename (home,
+					       ".gnome2",
+					       NULL);
 	}
 #else
-	return g_strdup (g_get_user_config_dir ());
+	config_dir = g_strdup (g_get_user_config_dir ());
 #endif
-	return NULL;
+
+	return config_dir;
+}
+
+gchar *
+gedit_dirs_get_cache_dir ()
+{
+	const gchar *cache_dir;
+
+	cache_dir = g_get_user_cache_dir ();
+
+	return g_build_filename (cache_dir,
+				 "gedit",
+				 NULL);
 }
 
 gchar *

Modified: branches/win32/gedit/gedit-dirs.h
==============================================================================
--- branches/win32/gedit/gedit-dirs.h	(original)
+++ branches/win32/gedit/gedit-dirs.h	Mon Dec 22 22:41:34 2008
@@ -30,6 +30,8 @@
 
 gchar		*gedit_dirs_get_config_dir		(void);
 
+gchar		*gedit_dirs_get_cache_dir		(void);
+
 gchar		*gedit_dirs_get_gedit_data_dir		(void);
 
 gchar		*gedit_dirs_get_gedit_lib_dir		(void);

Modified: branches/win32/gedit/gedit-metadata-manager.c
==============================================================================
--- branches/win32/gedit/gedit-metadata-manager.c	(original)
+++ branches/win32/gedit/gedit-metadata-manager.c	Mon Dec 22 22:41:34 2008
@@ -36,7 +36,7 @@
 #include <libxml/xmlreader.h>
 #include "gedit-metadata-manager.h"
 #include "gedit-debug.h"
-#include "gedit-utils.h"
+#include "gedit-dirs.h"
 
 /*
 #define GEDIT_METADATA_VERBOSE_DEBUG	1
@@ -221,16 +221,17 @@
 static gchar *
 get_metadata_filename (void)
 {
-	const gchar *cache_dir;
+	gchar *cache_dir;
 	gchar *metadata;
-	
-	cache_dir = g_get_user_cache_dir ();
-	
+
+	cache_dir = gedit_dirs_get_cache_dir ();
+
 	metadata = g_build_filename (cache_dir,
-				     "gedit",
 				     METADATA_FILE,
 				     NULL);
 
+	g_free (cache_dir);
+
 	return metadata;
 }
 
@@ -538,7 +539,17 @@
 	file_name = get_metadata_filename ();
 	if (file_name != NULL)
 	{
-		xmlSaveFormatFile (file_name, doc, 1);
+		gchar *cache_dir;
+		int res;
+
+		/* make sure the cache dir exists */
+		cache_dir = gedit_dirs_get_cache_dir ();
+		res = g_mkdir_with_parents (cache_dir, 0777);
+		if (res != -1)
+		{
+			xmlSaveFormatFile (file_name, doc, 1);
+		}
+
 		g_free (file_name);
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]