From aba0a5ed2dc2dc91f61be32f4c12a5cf6bffd754 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Fri, 11 Jan 2013 07:08:51 -0600 Subject: Improvement to account alias expansion Aliases are now expanded not only if they occur by themselves, but also if they occur as the beginning of a multi-part account. Given the account should now be expanded to . --- src/journal.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/journal.cc') diff --git a/src/journal.cc b/src/journal.cc index e6c09125..f45b7527 100644 --- a/src/journal.cc +++ b/src/journal.cc @@ -127,8 +127,19 @@ account_t * journal_t::register_account(const string& name, post_t * post, // object. if (account_aliases.size() > 0) { accounts_map::const_iterator i = account_aliases.find(name); - if (i != account_aliases.end()) + if (i != account_aliases.end()) { result = (*i).second; + } else { + // only check the very first account for alias expansion, in case + // that can be expanded successfully + size_t colon = name.find(':'); + if(colon != string::npos) { + accounts_map::const_iterator i = account_aliases.find(name.substr(0, colon)); + if (i != account_aliases.end()) { + result = find_account((*i).second->fullname() + name.substr(colon)); + } + } + } } // Create the account object and associate it with the journal; this -- cgit v1.2.3