summaryrefslogtreecommitdiff
path: root/apt-private
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-10-22 16:28:54 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-11-04 18:04:03 +0100
commitcbbee23e7768750ca1c8b49bdfbf8a650131bbb6 (patch)
tree8727247578b43b0ae0a56110ff9e0e254157fc76 /apt-private
parent995a4bf6d770a5cc824c38388909f23fcca558c3 (diff)
split up help messages for simpler reuse
That is one huge commit with busy work only: Help messages used to be one big translateable string, which is a pain for translators and hard to reuse for us. This change there 'explodes' this single string into new string for each documented string trying hard to split up the translated messages as well. This actually restores many translations as previously adding a single command made all of the bug message fuzzy. The splitup also highlighted that its easy to forget a line, duplicate one and similar stuff. Git-Dch: Ignore
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