summaryrefslogtreecommitdiff
path: root/cmdline/apt-config.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-04-22 12:29:24 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-04-22 12:29:24 +0200
commita88136062dbe189417aa0b4751449637816c8445 (patch)
tree5ad1ea4b7bc456249c356921dd86af09d85825b9 /cmdline/apt-config.cc
parentd280d03ac50f2b49f7c08f825dccdebf61b62c57 (diff)
* cmdline/apt-config.cc:
- make it possible to limit dump to a subtree - implement --empty and --format option for dump
Diffstat (limited to 'cmdline/apt-config.cc')
-rw-r--r--cmdline/apt-config.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc
index 79ae944df..397ce32df 100644
--- a/cmdline/apt-config.cc
+++ b/cmdline/apt-config.cc
@@ -63,7 +63,13 @@ bool DoShell(CommandLine &CmdL)
/* */
bool DoDump(CommandLine &CmdL)
{
- _config->Dump(cout);
+ bool const empty = _config->FindB("APT::Config::Dump::EmptyValue", true);
+ std::string const format = _config->Find("APT::Config::Dump::Format", "%f \"%v\";\n");
+ if (CmdL.FileSize() == 1)
+ _config->Dump(cout, NULL, format.c_str(), empty);
+ else
+ for (const char **I = CmdL.FileList + 1; *I != 0; ++I)
+ _config->Dump(cout, *I, format.c_str(), empty);
return true;
}
/*}}}*/
@@ -100,6 +106,8 @@ int main(int argc,const char *argv[]) /*{{{*/
{'v',"version","version",0},
{'c',"config-file",0,CommandLine::ConfigFile},
{'o',"option",0,CommandLine::ArbItem},
+ {0,"empty","APT::Config::Dump::EmptyValue",CommandLine::Boolean},
+ {0,"format","APT::Config::Dump::Format",CommandLine::HasArg},
{0,0,0,0}};
CommandLine::Dispatch Cmds[] = {{"shell",&DoShell},
{"dump",&DoDump},