summaryrefslogtreecommitdiff
path: root/cmdline/apt.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-10-24 22:43:37 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-11-04 18:04:03 +0100
commite7e10e47476606e3b2274cf66b1e8ea74b236757 (patch)
tree3daed3cc14405879034c562993a7b5399992f2e3 /cmdline/apt.cc
parentcbbee23e7768750ca1c8b49bdfbf8a650131bbb6 (diff)
deduplicate main methods
All mains pretty much do the same thing, so lets try a little harder to move the common parts into -private to have the real differences more visible. Git-Dch: Ignore
Diffstat (limited to 'cmdline/apt.cc')
-rw-r--r--cmdline/apt.cc47
1 files changed, 7 insertions, 40 deletions
diff --git a/cmdline/apt.cc b/cmdline/apt.cc
index 53735356d..98e715625 100644
--- a/cmdline/apt.cc
+++ b/cmdline/apt.cc
@@ -60,6 +60,8 @@ static bool ShowHelp(CommandLine &, CommandLine::DispatchWithHelp const * Cmds)
int main(int argc, const char *argv[]) /*{{{*/
{
+ InitLocale();
+
CommandLine::DispatchWithHelp Cmds[] = {
// query
{"list", &DoList, _("list packages based on package names")},
@@ -85,51 +87,16 @@ int main(int argc, const char *argv[]) /*{{{*/
{nullptr, nullptr, nullptr}
};
- std::vector<CommandLine::Args> Args = getCommandArgs("apt", CommandLine::GetCommand(Cmds, argc, argv));
-
- // Init the signals
+ // FIXME: Those ignore commandline configuration like -q
InitSignals();
-
- // Init the output
InitOutput();
- // Set up gettext support
- setlocale(LC_ALL,"");
- textdomain(PACKAGE);
-
- if(pkgInitConfig(*_config) == false)
- {
- _error->DumpErrors();
- return 100;
- }
-
- // Parse the command line and initialize the package library
CommandLine CmdL;
- ParseCommandLine(CmdL, Cmds, Args.data(), NULL, &_system, argc, argv, ShowHelp);
-
- if(!isatty(STDOUT_FILENO) &&
- _config->FindB("Apt::Cmd::Disable-Script-Warning", false) == false)
- {
- std::cerr << std::endl
- << "WARNING: " << argv[0] << " "
- << "does not have a stable CLI interface yet. "
- << "Use with caution in scripts."
- << std::endl
- << std::endl;
- }
-
- // see if we are in simulate mode
- CheckSimulateMode(CmdL);
+ ParseCommandLine(CmdL, Cmds, "apt", &_config, &_system, argc, argv, ShowHelp);
- // parse args
- CmdL.DispatchArg(Cmds);
+ CheckIfCalledByScript(argc, argv);
+ CheckIfSimulateMode(CmdL);
- // Print any errors or warnings found during parsing
- bool const Errors = _error->PendingError();
- if (_config->FindI("quiet",0) > 0)
- _error->DumpErrors();
- else
- _error->DumpErrors(GlobalError::DEBUG);
- return Errors == true ? 100 : 0;
+ return DispatchCommandLine(CmdL, Cmds);
}
/*}}}*/