summaryrefslogtreecommitdiff
path: root/apt-private
diff options
context:
space:
mode:
Diffstat (limited to 'apt-private')
-rw-r--r--apt-private/private-cmndline.cc15
-rw-r--r--apt-private/private-cmndline.h4
2 files changed, 10 insertions, 9 deletions
diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc
index 9f019121c..265c5d482 100644
--- a/apt-private/private-cmndline.cc
+++ b/apt-private/private-cmndline.cc
@@ -340,8 +340,8 @@ static void BinarySpecificConfiguration(char const * const Binary) /*{{{*/
_config->MoveSubTree(conf.c_str(), NULL);
}
/*}}}*/
-void ParseCommandLine(CommandLine &CmdL, CommandLine::Dispatch * const Cmds, CommandLine::Args * const Args,/*{{{*/
- Configuration * const * const Cnf, pkgSystem ** const Sys, int const argc, const char *argv[], bool(*ShowHelp)(CommandLine &CmdL))
+void ParseCommandLine(CommandLine &CmdL, CommandLine::DispatchWithHelp const * Cmds, CommandLine::Args * const Args,/*{{{*/
+ Configuration * const * const Cnf, pkgSystem ** const Sys, int const argc, const char *argv[], bool(*ShowHelp)(CommandLine &, CommandLine::DispatchWithHelp const *))
{
CmdL = CommandLine(Args,_config);
if (Cnf != NULL && pkgInitConfig(**Cnf) == false)
@@ -357,21 +357,22 @@ void ParseCommandLine(CommandLine &CmdL, CommandLine::Dispatch * const Cmds, Com
(Sys != NULL && pkgInitSystem(*_config, *Sys) == false))
{
if (_config->FindB("version") == true)
- ShowHelp(CmdL);
+ ShowHelp(CmdL, Cmds);
_error->DumpErrors();
exit(100);
}
// See if the help should be shown
- if (_config->FindB("help") == true || _config->FindB("version") == true)
+ if (_config->FindB("help") == true || _config->FindB("version") == true ||
+ (CmdL.FileSize() > 0 && strcmp(CmdL.FileList[0], "help") == 0))
{
- ShowHelp(CmdL);
+ ShowHelp(CmdL, Cmds);
exit(0);
}
- if (Cmds != NULL && CmdL.FileSize() == 0)
+ if (Cmds != nullptr && CmdL.FileSize() == 0)
{
- ShowHelp(CmdL);
+ ShowHelp(CmdL, Cmds);
exit(1);
}
}
diff --git a/apt-private/private-cmndline.h b/apt-private/private-cmndline.h
index 7b468456b..0d6c0bba6 100644
--- a/apt-private/private-cmndline.h
+++ b/apt-private/private-cmndline.h
@@ -10,8 +10,8 @@ class Configuration;
class pkgSystem;
APT_PUBLIC std::vector<CommandLine::Args> getCommandArgs(char const * const Program, char const * const Cmd);
-APT_PUBLIC void ParseCommandLine(CommandLine &CmdL, CommandLine::Dispatch * const Cmds, CommandLine::Args * const Args,
+APT_PUBLIC void ParseCommandLine(CommandLine &CmdL, CommandLine::DispatchWithHelp const * Cmds, CommandLine::Args * const Args,
Configuration * const * const Cnf, pkgSystem ** const Sys, int const argc, const char * argv[],
- bool(*ShowHelp)(CommandLine &CmdL));
+ bool(*ShowHelp)(CommandLine &, CommandLine::DispatchWithHelp const *));
#endif