X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/3e68f7e41022790619c698a32390a5256fadba7c..c1553e72c6728572b06dc32395a994d5bfdc8e23:/cmdline/apt-extracttemplates.cc?ds=inline

diff --git a/cmdline/apt-extracttemplates.cc b/cmdline/apt-extracttemplates.cc
index f95b9e5ba..3e4f89286 100644
--- a/cmdline/apt-extracttemplates.cc
+++ b/cmdline/apt-extracttemplates.cc
@@ -33,6 +33,8 @@
 #include <apt-pkg/dirstream.h>
 #include <apt-pkg/mmap.h>
 
+#include <apt-private/private-cmndline.h>
+
 #include <iostream>
 #include <stdio.h>
 #include <string.h>
@@ -215,15 +217,14 @@ bool DebFile::ParseInfo()
 // ShowHelp - show a short help text					/*{{{*/
 // ---------------------------------------------------------------------
 /* */
-static int ShowHelp(void)
+static bool ShowHelp(CommandLine &)
 {
-   	ioprintf(cout,_("%s %s for %s compiled on %s %s\n"),PACKAGE,PACKAGE_VERSION,
-	    COMMON_ARCH,__DATE__,__TIME__);
+	ioprintf(std::cout, "%s %s (%s)\n", PACKAGE, PACKAGE_VERSION, COMMON_ARCH);
 
-	if (_config->FindB("version") == true) 
-		return 0;
+	if (_config->FindB("version") == true)
+		return true;
 
-	cout << 
+	cout <<
 		_("Usage: apt-extracttemplates file1 [file2 ...]\n"
 		"\n"
 		"apt-extracttemplates is a tool to extract config and template info\n"
@@ -234,7 +235,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	/*{{{*/
@@ -356,20 +357,10 @@ int main(int argc, const char **argv)					/*{{{*/
 	textdomain(PACKAGE);
 
 	// 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();
-	
+	CommandLine::Dispatch Cmds[] = {{NULL, NULL}};
+	CommandLine CmdL;
+	ParseCommandLine(CmdL, Cmds, Args, &_config, &_system, argc, argv, ShowHelp);
+
 	Go(CmdL);
 
 	// Print any errors or warnings found during operation