Author: post
Date: 2010-03-28 17:11:27 +0200 (Sun, 28 Mar 2010)
New Revision: 3271
Modified:
trunk/librawstudio/rs-utils.c
Log:
Make dot_dir behave, even if it is given a directory.
Modified: trunk/librawstudio/rs-utils.c
===================================================================
--- trunk/librawstudio/rs-utils.c 2010-03-28 12:09:47 UTC (rev 3270)
+++ trunk/librawstudio/rs-utils.c 2010-03-28 15:11:27 UTC (rev 3271)
@@ -347,7 +347,11 @@
/* FIXME: Port rs_conf to library */
// rs_conf_get_boolean(CONF_CACHEDIR_IS_LOCAL, &dotdir_is_local);
- directory = g_path_get_dirname(filename);
+ if (g_file_test(filename, G_FILE_TEST_IS_DIR))
+ directory = g_strdup(filename);
+ else
+ directory = g_path_get_dirname(filename);
+
if (dotdir_is_local)
{
dotdir = g_string_new(g_get_home_dir());
@@ -382,13 +386,16 @@
{
g_string_free(dotdir, TRUE);
g_free(directory);
- gchar* md5 = rs_file_checksum(filename);
- ret = g_strdup_printf("%s/read-only-cache/%s",
rs_confdir_get(), md5);
- g_free(md5);
- if (!g_file_test(ret, (G_FILE_TEST_EXISTS |
G_FILE_TEST_IS_DIR)))
+ if (g_file_test(filename, G_FILE_TEST_IS_REGULAR))
{
- if (g_mkdir_with_parents(ret, 0700) != 0)
- ret = NULL;
+ gchar* md5 = rs_file_checksum(filename);
+ ret = g_strdup_printf("%s/read-only-cache/%s",
rs_confdir_get(), md5);
+ g_free(md5);
+ if (!g_file_test(ret, (G_FILE_TEST_EXISTS |
G_FILE_TEST_IS_DIR)))
+ {
+ if (g_mkdir_with_parents(ret, 0700) != 0)
+ ret = NULL;
+ }
}
return ret;
}
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit