diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-10-24 22:43:37 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-11-04 18:04:03 +0100 |
commit | e7e10e47476606e3b2274cf66b1e8ea74b236757 (patch) | |
tree | 3daed3cc14405879034c562993a7b5399992f2e3 /cmdline/apt-config.cc | |
parent | cbbee23e7768750ca1c8b49bdfbf8a650131bbb6 (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-config.cc')
-rw-r--r-- | cmdline/apt-config.cc | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc index e0383e019..3ccfa9a95 100644 --- a/cmdline/apt-config.cc +++ b/cmdline/apt-config.cc @@ -32,6 +32,7 @@ #include <string.h> #include <apt-private/private-cmndline.h> +#include <apt-private/private-main.h> #include <apti18n.h> /*}}}*/ @@ -107,21 +108,17 @@ static bool ShowHelp(CommandLine &, CommandLine::DispatchWithHelp const * Cmds) /*}}}*/ int main(int argc,const char *argv[]) /*{{{*/ { + InitLocale(); + CommandLine::DispatchWithHelp Cmds[] = { {"shell", &DoShell, _("get configuration values via shell evaluation")}, {"dump", &DoDump, _("show the active configuration setting")}, {nullptr, nullptr, nullptr} }; - std::vector<CommandLine::Args> Args = getCommandArgs("apt-config", CommandLine::GetCommand(Cmds, argc, argv)); - - // Set up gettext support - setlocale(LC_ALL,""); - textdomain(PACKAGE); - // Parse the command line and initialize the package library CommandLine CmdL; - ParseCommandLine(CmdL, Cmds, Args.data(), &_config, &_system, argc, argv, ShowHelp); + ParseCommandLine(CmdL, Cmds, "apt-config", &_config, &_system, argc, argv, ShowHelp); std::vector<std::string> const langs = APT::Configuration::getLanguages(true); _config->Clear("Acquire::Languages"); @@ -154,17 +151,6 @@ int main(int argc,const char *argv[]) /*{{{*/ for (std::vector<std::string>::const_iterator p = profiles.begin(); p != profiles.end(); ++p) _config->Set("APT::Build-Profiles::", *p); - // Match the operation - CmdL.DispatchArg(Cmds); - - // Print any errors or warnings found during parsing - if (_error->empty() == false) - { - bool Errors = _error->PendingError(); - _error->DumpErrors(); - return Errors == true?100:0; - } - - return 0; + return DispatchCommandLine(CmdL, Cmds); } /*}}}*/ |