diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2012-04-22 12:28:54 +0200 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2012-04-22 12:28:54 +0200 |
commit | d280d03ac50f2b49f7c08f825dccdebf61b62c57 (patch) | |
tree | 6e24aefff39474cdfb096e516d17de8c81c1d51e | |
parent | 2f4162708d9db7c71590370cc998d46e8386c757 (diff) |
* apt-pkg/acquire-worker.cc:
- use Dump() to generate the configuration message for sending
-rw-r--r-- | apt-pkg/acquire-worker.cc | 39 | ||||
-rw-r--r-- | debian/changelog | 4 |
2 files changed, 12 insertions, 31 deletions
diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index 77e2fc311..8bc043c58 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -467,40 +467,19 @@ bool pkgAcquire::Worker::SendConfiguration() if (OutFd == -1) return false; - - string Message = "601 Configuration\n"; - Message.reserve(2000); - /* Write out all of the configuration directives by walking the + /* Write out all of the configuration directives by walking the configuration tree */ - const Configuration::Item *Top = _config->Tree(0); - for (; Top != 0;) - { - if (Top->Value.empty() == false) - { - string Line = "Config-Item: " + QuoteString(Top->FullTag(),"=\"\n") + "="; - Line += QuoteString(Top->Value,"\n") + '\n'; - Message += Line; - } - - if (Top->Child != 0) - { - Top = Top->Child; - continue; - } - - while (Top != 0 && Top->Next == 0) - Top = Top->Parent; - if (Top != 0) - Top = Top->Next; - } - Message += '\n'; + std::ostringstream Message; + Message << "601 Configuration\n"; + _config->Dump(Message, NULL, "Config-Item: %F=%V\n", false); + Message << '\n'; if (Debug == true) - clog << " -> " << Access << ':' << QuoteString(Message,"\n") << endl; - OutQueue += Message; - OutReady = true; - + clog << " -> " << Access << ':' << QuoteString(Message.str(),"\n") << endl; + OutQueue += Message.str(); + OutReady = true; + return true; } /*}}}*/ diff --git a/debian/changelog b/debian/changelog index cbbedda0d..79c09b092 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,8 +5,10 @@ apt (0.9.3) unstable; urgency=low - remove the message size limit from ioprintf and strprintf * apt-pkg/contrib/configuration.cc: - add a more versatile Dump() method + * apt-pkg/acquire-worker.cc: + - use Dump() to generate the configuration message for sending - -- David Kalnischkies <kalnischkies@gmail.com> Sun, 22 Apr 2012 12:27:47 +0200 + -- David Kalnischkies <kalnischkies@gmail.com> Sun, 22 Apr 2012 12:28:13 +0200 apt (0.9.2) unstable; urgency=low |