]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-extracttemplates.cc
deal with --version more centrally
[apt.git] / cmdline / apt-extracttemplates.cc
index f95b9e5ba2eff3ec8943127a60f317541cec89d1..b63f2ff1610f092c2dc2ab39a782c4e044a4e49b 100644 (file)
@@ -33,6 +33,9 @@
 #include <apt-pkg/dirstream.h>
 #include <apt-pkg/mmap.h>
 
+#include <apt-private/private-cmndline.h>
+#include <apt-private/private-main.h>
+
 #include <iostream>
 #include <stdio.h>
 #include <string.h>
@@ -212,18 +215,9 @@ bool DebFile::ParseInfo()
        return true;
 }
                                                                        /*}}}*/
-// ShowHelp - show a short help text                                   /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-static int ShowHelp(void)
+bool ShowHelp(CommandLine &, aptDispatchWithHelp const *)              /*{{{*/
 {
-       ioprintf(cout,_("%s %s for %s compiled on %s %s\n"),PACKAGE,PACKAGE_VERSION,
-           COMMON_ARCH,__DATE__,__TIME__);
-
-       if (_config->FindB("version") == true) 
-               return 0;
-
-       cout << 
+       cout <<
                _("Usage: apt-extracttemplates file1 [file2 ...]\n"
                "\n"
                "apt-extracttemplates is a tool to extract config and template info\n"
@@ -234,7 +228,7 @@ static int ShowHelp(void)
                "  -t   Set the temp dir\n"
                "  -c=? Read this configuration file\n"
                "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n");
-       return 0;
+       return true;
 }
                                                                        /*}}}*/
 // WriteFile - write the contents of the passed string to a file       /*{{{*/
@@ -341,46 +335,22 @@ static bool Go(CommandLine &CmdL)
        return !_error->PendingError();
 }
                                                                        /*}}}*/
+std::vector<aptDispatchWithHelp> GetCommands()                         /*{{{*/
+{
+   return {
+       {nullptr, nullptr, nullptr}
+   };
+}
+                                                                       /*}}}*/
 int main(int argc, const char **argv)                                  /*{{{*/
 {
-       CommandLine::Args Args[] = {
-               {'h',"help","help",0},
-               {'v',"version","version",0},
-               {'t',"tempdir","APT::ExtractTemplates::TempDir",CommandLine::HasArg},
-               {'c',"config-file",0,CommandLine::ConfigFile},
-               {'o',"option",0,CommandLine::ArbItem},
-               {0,0,0,0}};
+       InitLocale();
 
-       // Set up gettext support
-       setlocale(LC_ALL,"");
-       textdomain(PACKAGE);
+       CommandLine CmdL;
+       auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_EXTRACTTEMPLATES, &_config, &_system, argc, argv);
 
-       // Parse the command line and initialize the package library
-       CommandLine CmdL(Args,_config);
-       if (pkgInitConfig(*_config) == false ||
-           CmdL.Parse(argc,argv) == false ||
-           pkgInitSystem(*_config,_system) == false)
-       {
-               _error->DumpErrors();
-               return 100;
-       }
-       
-       // See if the help should be shown
-       if (_config->FindB("help") == true ||
-           CmdL.FileSize() == 0)
-               return ShowHelp();
-       
        Go(CmdL);
 
-       // Print any errors or warnings found during operation
-       if (_error->empty() == false)
-       {
-               // This goes to stderr..
-               bool Errors = _error->PendingError();
-               _error->DumpErrors();
-               return Errors == true?100:0;
-       }
-       
-       return 0;
+       return DispatchCommandLine(CmdL, {});
 }
                                                                        /*}}}*/