//
// aegis - project change supervisor
// Copyright (C) 2005, 2006, 2008 Peter Miller
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// .
//
#include
#include
#include
rfc822_functor_list_meta::~rfc822_functor_list_meta()
{
}
rfc822_functor_list_meta::rfc822_functor_list_meta() :
first(true)
{
}
bool
rfc822_functor_list_meta::operator()(rfc822 &arg)
{
if (first)
first = false;
else
putchar('\n');
nstring_list names;
arg.keys(names);
//
// We sort the names so that automated tests get predictable
// results, even if we choose to change the hashing algorithm one
// day. It also makes it more predictable for the dumb humans to
// comprehend if they always come out in the same order.
//
names.sort();
for (size_t j = 0; j < names.size(); ++j)
{
nstring key = names[j];
printf("%s: %s\n", key.capitalize().c_str(), arg.get(key).c_str());
}
return true;
}