summaryrefslogtreecommitdiff
path: root/src/account.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-02-08 23:28:30 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-02-08 23:28:30 -0400
commitf50def86c4a1203837a8f97066d9d4dfd268e0f1 (patch)
treec717ba4efb0ba09113111e1c45f45e770e5b17b9 /src/account.cc
parent57d98ac1207241c32ee19c71b4d621c313697bce (diff)
downloadfork-ledger-f50def86c4a1203837a8f97066d9d4dfd268e0f1.tar.gz
fork-ledger-f50def86c4a1203837a8f97066d9d4dfd268e0f1.tar.bz2
fork-ledger-f50def86c4a1203837a8f97066d9d4dfd268e0f1.zip
Moved get_partial_name from format.cc into account_t, where it belongs.
Diffstat (limited to 'src/account.cc')
-rw-r--r--src/account.cc40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/account.cc b/src/account.cc
index 109089fc..b6681c54 100644
--- a/src/account.cc
+++ b/src/account.cc
@@ -125,6 +125,26 @@ string account_t::fullname() const
}
}
+string account_t::partial_name() const
+{
+ string name;
+
+ for (const account_t * acct = this;
+ acct && acct->parent;
+ acct = acct->parent) {
+ if (acct->has_xdata() &&
+ acct->xdata().has_flags(ACCOUNT_EXT_DISPLAYED))
+ break;
+
+ if (name.empty())
+ name = acct->name;
+ else
+ name = acct->name + ":" + name;
+ }
+
+ return name;
+}
+
std::ostream& operator<<(std::ostream& out, const account_t& account)
{
out << account.fullname();
@@ -132,24 +152,8 @@ std::ostream& operator<<(std::ostream& out, const account_t& account)
}
namespace {
- value_t get_partial_name(account_t& account)
- {
- string name;
-
- for (account_t * acct = &account;
- acct && acct->parent;
- acct = acct->parent) {
- if (acct->has_xdata() &&
- acct->xdata().has_flags(ACCOUNT_EXT_DISPLAYED))
- break;
-
- if (name.empty())
- name = acct->name;
- else
- name = acct->name + ":" + name;
- }
-
- return string_value(name);
+ value_t get_partial_name(account_t& account) {
+ return string_value(account.partial_name());
}
value_t get_total(account_t& account) {