summaryrefslogtreecommitdiff
path: root/graphics/geomorph/files/patch-src_app_main.c
blob: c45affce21f62d58b2ea16d5ff25a193187158b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
--- src/app/main.c.orig	2021-01-31 03:36:55 UTC
+++ src/app/main.c
@@ -75,87 +75,22 @@ gchar *find_config_file() {
 	gboolean shortcuts;
 	glong pathmax;
 
-//	We try:
-//	1. in the current directory. (./OPTION_FILE = ./geomorphrc)
-//	2. if not found, we try ./DEF_DIR_NAME/OPTION_FILE (./geomorph/geomorphrc)
-//	3. if not found, we try $HOME/OPTION_FILE (~/geomorphrc)
-//	4. if not found, we try in $HOME/DEF_DIR_NAME (~/geomorph/geomorphrc) 
-//	--> if OPTION_FILE was not found, and 
-//	if $HOME/DEF_DIR_NAME doesn't exist, we create the required files
-//	The directory where OPTION_FILE is found becomes the default one (DEF_DIR)
+	default_dir = concat_dname_fname(getenv("HOME"), DEF_DIR_NAME);
+	path_n_file = path_n_file = concat_dname_fname(default_dir, OPTION_FILE);
 
-	// Try ./OPTION_FILE
-	pathmax = get_pathmax();
-	default_dir = (gchar *) x_malloc(pathmax*sizeof(gchar),"gchar - default_dir in main.c");
-	dummy = (gchar *) getcwd(default_dir,pathmax);
-// printf("Dummy: %p; Current dir name for config file: %p;\n", dummy, default_dir);
-	path_n_file = concat_dname_fname(dummy,OPTION_FILE);
-	if (!filexists(path_n_file)) { // Try ./DEF_DIR_NAME/OPTION_FILE
-		dummy = default_dir;
-		default_dir = concat_dname_fname(dummy,DEF_DIR_NAME);
-		x_free(dummy);
-		dummy = NULL;
-		if (path_n_file)
-			x_free(path_n_file);
-		path_n_file = concat_dname_fname(default_dir,OPTION_FILE);
-		if (!filexists(path_n_file)) { // Try in the home directory - ~/OPTION_FILE
-			x_free(default_dir);
-#ifdef _WIN32
-			default_dir = get_windows_home();
-#else
-			default_dir = getenv("HOME");
-#endif
-			if (path_n_file)
-				x_free(path_n_file);
-			path_n_file = concat_dname_fname(default_dir, OPTION_FILE);
-			if (!filexists(path_n_file)) { // Try ~/DEFAULT_DIR/OPTION_FILE
-				dummy = default_dir;				
-				default_dir = concat_dname_fname(dummy,DEF_DIR_NAME);
-				// Here we don't free dummy because it comes from getenv
-				if (path_n_file) 
-					x_free(path_n_file);
-				path_n_file = concat_dname_fname(default_dir, OPTION_FILE);
-				if (directory_exists(default_dir)) {
-					if (!filexists(path_n_file)) {
-						// Big problem, create a default rc file
-						create_config_file(path_n_file);
-					}
-				}
-				else {
-					// Geomorph directory ("default_dir") doesn't exist
-					// Create one with default scenes and rc file
-					buf = (gchar *) x_malloc(strlen(_("Creation of the default working directory?"))+1+strlen(default_dir), "const gchar (buf - Creation of the default working directory MSG)");
-					sprintf(buf,_("Creation of the default working directory %s?"),default_dir);
-					if (!yes_no(buf,TRUE))
-						exit(0);
-//					if (buf) x_free(buf);
-					shortcuts = yes_no(_("Add shortcuts on the KDE and GNOME desktops?"), TRUE);
-					command = concat_dname_fname(get_data_dir(),"install-step1-dir");
-					if (system(command))
-						my_msg(_("Fatal error during the creation of the default working directory"),ABORT);
-					if (command) x_free(command);
-					create_config_file(path_n_file);
-					command = concat_dname_fname(get_data_dir(),"install-step3-menu");
-					if (system(command))
-						my_msg(_("Error during the creation of Geomorph in the Gnome or KDE menu"),WARNING);
-					if (command) x_free(command);
-					if (shortcuts) {
-						command = concat_dname_fname(get_data_dir(),"install-step4-desktop");
-						if (system(command))
-							my_msg(_("Error during the creation of one shortcut or both"),WARNING);
-//						if (buf) x_free(buf);
-						if (command) x_free(command);
-					}
-				if (path_n_file) x_free(path_n_file);
-				}
-			}
+	if (directory_exists(default_dir)) {
+		if (!filexists(path_n_file)) {
+			create_config_file(path_n_file);
 		}
+	} else {
+		command = concat_dname_fname(get_data_dir(),"install-step1-dir");
+		if (system(command))
+			my_msg(_("Fatal error during the creation of the default working directory"),ABORT);
+		if (command) free(command);
+		create_config_file(path_n_file);
 	}
-	dummy = default_dir;
-	default_dir = add_filesep(dummy);
-	if (dummy != default_dir)
-		x_free(dummy);
-	return default_dir;
+	if (path_n_file) free(path_n_file);
+	return add_filesep(default_dir);
 }
 
 int main( int   argc,