summaryrefslogtreecommitdiffstats
path: root/expac.c
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2014-11-16 18:01:12 -0500
committerDave Reisner <dreisner@archlinux.org>2014-11-16 18:04:08 -0500
commit9bc85c516bed428b1bd8520f2c371d016af67a68 (patch)
treea8506729b319624f80bc16a85a1133f46187bb4b /expac.c
parent3857cd02e80e371747005f358701a463b5365b04 (diff)
downloadexpac-9bc85c516bed428b1bd8520f2c371d016af67a68.tar.xz
move flag parsing out of expac_new
Diffstat (limited to 'expac.c')
-rw-r--r--expac.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/expac.c b/expac.c
index 0f23c01..7c912c0 100644
--- a/expac.c
+++ b/expac.c
@@ -657,23 +657,21 @@ void expac_free(Expac *expac) {
alpm_release(expac->alpm);
}
-int expac_new(Expac **expac, int argc, char **argv) {
+int expac_new(Expac **expac, const char *config_file) {
Expac *e;
enum _alpm_errno_t alpm_errno = 0;
- config_t config = { NULL, 0, 0, NULL, NULL };
+ config_t config;
const char *dbroot = "/";
const char *dbpath = "/var/lib/pacman";
int r;
- r = parse_options(argc, argv);
- if (r < 0)
- return r;
-
e = calloc(1, sizeof(*e));
if (e == NULL)
return -ENOMEM;
- r = config_parse(&config, opt_config_file);
+ memset(&config, 0, sizeof(config));
+
+ r = config_parse(&config, config_file);
if (r < 0)
return r;
@@ -687,8 +685,6 @@ int expac_new(Expac **expac, int argc, char **argv) {
if (!e->alpm)
return -alpm_errno;
- e->db_local = alpm_get_localdb(e->alpm);
-
for (int i = 0; i < config.size; ++i)
alpm_register_syncdb(e->alpm, config.repos[i], 0);
@@ -751,7 +747,11 @@ int main(int argc, char *argv[]) {
Expac *expac;
int r;
- r = expac_new(&expac, argc, argv);
+ r = parse_options(argc, argv);
+ if (r < 0)
+ return 1;
+
+ r = expac_new(&expac, opt_config_file);
if (r < 0)
return 1;