diff options
author | Dave Reisner <dreisner@archlinux.org> | 2014-11-16 18:01:12 -0500 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2014-11-16 18:04:08 -0500 |
commit | 9bc85c516bed428b1bd8520f2c371d016af67a68 (patch) | |
tree | a8506729b319624f80bc16a85a1133f46187bb4b /expac.c | |
parent | 3857cd02e80e371747005f358701a463b5365b04 (diff) | |
download | expac-9bc85c516bed428b1bd8520f2c371d016af67a68.tar.xz |
move flag parsing out of expac_new
Diffstat (limited to 'expac.c')
-rw-r--r-- | expac.c | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -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; |