summaryrefslogtreecommitdiff
path: root/src/setup.c
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2010-12-12 18:40:42 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2010-12-12 18:40:42 +0100
commitbb58d822fb517f4a7a242994bbda3693255b2c74 (patch)
treea12afac60808c810e32774b242eda2a6a58d6de3 /src/setup.c
parent9d995d59d4868a0ed02dc37892d5f670bd4eb86b (diff)
downloadcataract-bb58d822fb517f4a7a242994bbda3693255b2c74.tar.xz
setup: Code cleanup
Diffstat (limited to 'src/setup.c')
-rw-r--r--src/setup.c37
1 files changed, 15 insertions, 22 deletions
diff --git a/src/setup.c b/src/setup.c
index 21ae26d..6cc9ed6 100644
--- a/src/setup.c
+++ b/src/setup.c
@@ -49,7 +49,7 @@ find_setup_xml ()
setup = NULL;
cwd = g_get_current_dir ();
- pth = g_strconcat (cwd, "/", SETUP_XML, NULL);
+ pth = g_build_filename (cwd, SETUP_XML, NULL);
g_free (cwd);
if (g_access (pth, R_OK) == 0)
@@ -57,14 +57,14 @@ find_setup_xml ()
g_free (pth);
if (! setup) {
- pth = g_strconcat (g_getenv ("HOME"), "/.cgg/", SETUP_XML, NULL);
+ pth = g_build_filename (g_getenv ("HOME"), ".cgg", SETUP_XML, NULL);
if (g_access (pth, R_OK) == 0)
setup = parse_setup_xml (pth);
g_free (pth);
}
if (! setup) {
- pth = g_strconcat (DATADIR, "/cgg/", SETUP_XML, NULL);
+ pth = g_build_filename (DATADIR, "cgg", SETUP_XML, NULL);
if (g_access (pth, R_OK) == 0)
setup = parse_setup_xml (pth);
g_free (pth);
@@ -88,7 +88,6 @@ parse_setup_xml (const gchar *filename)
if (xml == NULL)
return NULL;
- /* initialize data struct */
setup = g_malloc0 (sizeof (TGallerySetup));
setup->setup_xml_path = g_strdup (filename);
@@ -102,22 +101,16 @@ parse_setup_xml (const gchar *filename)
g_free (s);
}
setup->support_files_use_common_root = xml_file_get_node_attribute_boolean (xml, "/gallery_setup/templates/support_files_use_common_root", "value", FALSE);
- setup->index_file_name = xml_file_get_node_value (xml, "/gallery_setup/templates/index_file/text()");
- if (setup->index_file_name == NULL || strlen (setup->index_file_name) == 0)
- setup->index_file_name = g_strdup (DEFAULT_INDEX_FILENAME);
-
- setup->thumbnail_dir = xml_file_get_node_value (xml, "/gallery_setup/images/thumbnail_dir/text()");
- if (setup->thumbnail_dir == NULL || strlen (setup->thumbnail_dir) == 0)
- setup->thumbnail_dir = g_strdup (DEFAULT_THUMBNAIL_DIR);
- setup->img_big_dir = xml_file_get_node_value (xml, "/gallery_setup/images/preview_dir/text()");
- if (setup->img_big_dir == NULL || strlen (setup->img_big_dir) == 0)
- setup->img_big_dir = g_strdup (DEFAULT_IMG_BIG_DIR);
- setup->img_orig_dir = xml_file_get_node_value (xml, "/gallery_setup/images/original_dir/text()");
- if (setup->img_orig_dir == NULL || strlen (setup->img_orig_dir) == 0)
- setup->img_orig_dir = g_strdup (DEFAULT_IMG_ORIG_DIR);
- setup->thumbnail_name_format = xml_file_get_node_value (xml, "/gallery_setup/images/thumbnail_name_format/text()");
- if (setup->thumbnail_name_format == NULL || strlen (setup->thumbnail_name_format) == 0 || strstr (setup->thumbnail_name_format, "%s") == NULL)
+ setup->index_file_name = xml_file_get_node_value_with_default (xml, "/gallery_setup/templates/index_file/text()", DEFAULT_INDEX_FILENAME);
+
+ setup->thumbnail_dir = xml_file_get_node_value_with_default (xml, "/gallery_setup/images/thumbnail_dir/text()", DEFAULT_THUMBNAIL_DIR);
+ setup->img_big_dir = xml_file_get_node_value_with_default (xml, "/gallery_setup/images/preview_dir/text()", DEFAULT_IMG_BIG_DIR);
+ setup->img_orig_dir = xml_file_get_node_value_with_default (xml, "/gallery_setup/images/original_dir/text()", DEFAULT_IMG_ORIG_DIR);
+ setup->thumbnail_name_format = xml_file_get_node_value_with_default (xml, "/gallery_setup/images/thumbnail_name_format/text()", DEFAULT_THUMBNAIL_NAME_FORMAT);
+ if (strstr (setup->thumbnail_name_format, "%s") == NULL) {
+ g_free (setup->thumbnail_name_format);
setup->thumbnail_name_format = g_strdup (DEFAULT_THUMBNAIL_NAME_FORMAT);
+ }
setup->thumbnail_landscape_width = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "landscape_w", 0);
setup->thumbnail_landscape_height = xml_file_get_node_attribute_long (xml, "/gallery_setup/images/thumbnail", "landscape_h", 0);
@@ -177,7 +170,7 @@ test_tmpl_access (const gchar *dir, const gchar *path)
gchar *s;
int b;
- s = g_strconcat (dir, "/", path, NULL);
+ s = g_build_filename (dir, path, NULL);
b = access (s, R_OK);
g_free (s);
return b;
@@ -203,10 +196,10 @@ find_templates_directory (TGallerySetup *setup)
if (IS_DIR_SEP (*setup->templates_path)) {
if (! test_tmpl_files (setup->templates_path, setup))
- return g_strdup (setup->templates_path);
+ return g_strdup (setup->templates_path);
} else {
base_dir = g_path_get_dirname (setup->setup_xml_path);
- pth = g_strconcat (base_dir, "/", setup->templates_path, NULL);
+ pth = g_build_path (G_DIR_SEPARATOR_S, base_dir, setup->templates_path, NULL);
g_free (base_dir);
if (! test_tmpl_files (pth, setup))