[pacman-dev,5/5] pacman-conf.c: make parse_opts only parse opts

Message ID 20180209044908.22901-6-iff@escondida.tk
State Superseded, archived
Delegated to: Andrew Gregory
Headers show
Series Miscellaneous pacman-conf tweaks | expand

Commit Message

Ivy Foster Feb. 9, 2018, 4:49 a.m. UTC
From: Ivy Foster <iff@escondida.tk>

Previously, it also parsed the config file instead of simply setting
the (global) config_file variable

Signed-off-by: Ivy Foster <iff@escondida.tk>
---
 src/pacman/pacman-conf.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

Patch

diff --git a/src/pacman/pacman-conf.c b/src/pacman/pacman-conf.c
index aa102031..52bbdb9e 100644
--- a/src/pacman/pacman-conf.c
+++ b/src/pacman/pacman-conf.c
@@ -100,10 +100,6 @@  static void parse_opts(int argc, char **argv)
 				exit(EXIT_FAILURE);
 		}
 	}
-
-	if(parseconfigfile(config_file) != 0 || setdefaults(config) != 0) {
-		fprintf(stderr, "error parsing '%s'\n", config_file);
-	}
 }
 
 static void list_repos(void)
@@ -403,8 +399,16 @@  int main(int argc, char **argv)
 		return EXIT_FAILURE;
 	}
 
-	config = config_new();
 	parse_opts(argc, argv);
+
+	if(!(config = config_new())) {
+		/* config_new prints the appropriate error message */
+		return EXIT_FAILURE;
+	}
+	if(parseconfigfile(config_file) != 0 || setdefaults(config) != 0) {
+		fprintf(stderr, "error parsing '%s'\n", config_file);
+		return EXIT_FAILURE;
+	}
 	if(!config) {
 		return EXIT_FAILURE;
 	}