From 993e14cd113fccd973c35fd1322625804d5e5142 Mon Sep 17 00:00:00 2001 From: graham.gower Date: Thu, 10 Dec 2009 22:04:35 -0500 Subject: Move loading of feeds and status files out of opkg_conf_init(). git-svn-id: http://opkg.googlecode.com/svn/trunk@483 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- (limited to 'libopkg/libopkg.c') diff --git a/libopkg/libopkg.c b/libopkg/libopkg.c index f6fc251..f6f6fe9 100644 --- a/libopkg/libopkg.c +++ b/libopkg/libopkg.c @@ -33,6 +33,8 @@ opkg_op (int argc, char *argv[]) args_t args; char *cmd_name; opkg_cmd_t *cmd; + int nocheckfordirorfile = 0; + int noreadfeedsfile = 0; args_init (&args); @@ -48,7 +50,7 @@ opkg_op (int argc, char *argv[]) !strcmp(cmd_name,"print_architecture") || !strcmp(cmd_name,"print-installation-architecture") || !strcmp(cmd_name,"print_installation_architecture") ) - args.nocheckfordirorfile = 1; + nocheckfordirorfile = 1; if ( !strcmp(cmd_name,"flag") || !strcmp(cmd_name,"configure") || @@ -60,7 +62,7 @@ opkg_op (int argc, char *argv[]) !strcmp(cmd_name,"list_installed") || !strcmp(cmd_name,"list-installed") || !strcmp(cmd_name,"status") ) - args.noreadfeedsfile = 1; + noreadfeedsfile = 1; cmd = opkg_cmd_find (cmd_name); if (cmd == NULL) @@ -75,10 +77,16 @@ opkg_op (int argc, char *argv[]) err = opkg_conf_init (&args); args_deinit (&args); if (err) - { - print_error_list(); - free_error_list(); - return err; + goto err0; + + if (!nocheckfordirorfile) { + if (!noreadfeedsfile) { + if ((err = pkg_hash_load_feeds())) + goto err1; + } + + if ((err = pkg_hash_load_status_files())) + goto err1; } if (cmd->requires_args && opts == argc) @@ -91,10 +99,16 @@ opkg_op (int argc, char *argv[]) err = opkg_cmd_exec (cmd, argc - opts, (const char **) (argv + opts)); + #ifdef HAVE_CURL opkg_curl_cleanup(); #endif +err1: opkg_conf_deinit (); +err0: + print_error_list(); + free_error_list(); + return err; } -- cgit v0.9.1