diff src/rcfile.c @ 738:ff8b802eac58

Separate path building code from options loading code. Most code of load_options() is moved to new load_options_from(). ExifUIList initialization is moved to setup_default_options().
author zas_
date Thu, 22 May 2008 22:43:07 +0000
parents 8a8873e7a552
children 0e8b802e54d5
line wrap: on
line diff
--- a/src/rcfile.c	Thu May 22 20:22:13 2008 +0000
+++ b/src/rcfile.c	Thu May 22 22:43:07 2008 +0000
@@ -618,10 +618,11 @@
 	return TRUE;
 }
 
-void load_options(void)
+
+
+static gboolean load_options_from(const gchar *utf8_path)
 {
 	FILE *f;
-	gchar *rc_path;
 	gchar *rc_pathl;
 	gchar s_buf[1024];
 	gchar option[1024];
@@ -629,19 +630,10 @@
 	gchar value_all[1024];
 	gint i;
 
-	for (i = 0; ExifUIList[i].key; i++)
-		ExifUIList[i].current = ExifUIList[i].default_value;
-
-	rc_path = g_build_filename(homedir(), GQ_RC_DIR, RC_FILE_NAME, NULL);
-
-	rc_pathl = path_from_utf8(rc_path);
+	rc_pathl = path_from_utf8(utf8_path);
 	f = fopen(rc_pathl,"r");
 	g_free(rc_pathl);
-	if (!f)
-		{
-		g_free(rc_path);
-		return;
-		}
+	if (!f) return FALSE;
 
 	while (fgets(s_buf, sizeof(s_buf), f))
 		{
@@ -917,5 +909,14 @@
 		}
 
 	fclose(f);
+	return TRUE;
+}
+
+void load_options(void)
+{
+	gchar *rc_path;
+
+	rc_path = g_build_filename(homedir(), GQ_RC_DIR, RC_FILE_NAME, NULL);
+	load_options_from(rc_path);
 	g_free(rc_path);
 }