//
// aegis - project change supervisor
// Copyright (C) 2004-2008, 2012 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
#include
#include
#include
#include
wstring
sub_email_address(sub_context_ty *, const wstring_list &arg)
{
trace(("sub_email_address()\n{\n"));
nstring_list words;
bool quote = false;
const char *separator = 0;
size_t j = 1;
for (; j < arg.size(); ++j)
{
nstring option = arg[j].to_nstring();
if (arglex_compare("-Comma", option.c_str(), 0))
separator = ", ";
else if (arglex_compare("-Quote", option.c_str(), 0))
quote = true;
else
break;
}
for (; j < arg.size(); ++j)
{
nstring login = arg[j].to_nstring();
user_ty::pointer up = user_ty::create(login);
nstring s = up->get_email_address();
if (quote)
s = s.quote_shell();
words.push_back_unique(s);
}
//
// Convert the work list to a single string.
//
nstring rs = words.unsplit(separator);
wstring result(rs);
//
// all done
//
trace(("return %p;\n", result.get_ref()));
trace(("}\n"));
return result;
}
// vim: set ts=8 sw=4 et :