summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2010-06-05 02:44:46 -0400
committerJohn Wiegley <johnw@newartisans.com>2010-06-05 02:46:22 -0400
commit63c7ba0322fc3d0082580e181cd341f32a23ee9e (patch)
tree3b26f8b0b187045cf89ce25ceed5d48526c312e2
parent653d2bd99a04f422c3755f42d6091f2b8817b26f (diff)
downloadfork-ledger-63c7ba0322fc3d0082580e181cd341f32a23ee9e.tar.gz
fork-ledger-63c7ba0322fc3d0082580e181cd341f32a23ee9e.tar.bz2
fork-ledger-63c7ba0322fc3d0082580e181cd341f32a23ee9e.zip
Make --anon work with the print command
Fixes #226 / C1C1E731-D991-40ED-BE43-8ED55585386C
-rw-r--r--src/filters.cc1
-rw-r--r--src/post.h11
-rw-r--r--src/print.cc1
3 files changed, 8 insertions, 5 deletions
diff --git a/src/filters.cc b/src/filters.cc
index b5f9983a..07278500 100644
--- a/src/filters.cc
+++ b/src/filters.cc
@@ -256,6 +256,7 @@ void anonymize_posts::operator()(post_t& post)
create_temp_account_from_path(account_names, temps, xact.journal->master);
post_t& temp = temps.copy_post(post, xact, new_account);
temp.note = none;
+ temp.add_flags(POST_ANONYMIZED);
(*handler)(temp);
}
diff --git a/src/post.h b/src/post.h
index 226d6289..ed22634f 100644
--- a/src/post.h
+++ b/src/post.h
@@ -52,11 +52,12 @@ class account_t;
class post_t : public item_t
{
public:
-#define POST_VIRTUAL 0x08 // the account was specified with (parens)
-#define POST_MUST_BALANCE 0x10 // posting must balance in the transaction
-#define POST_CALCULATED 0x20 // posting's amount was calculated
-#define POST_COST_CALCULATED 0x40 // posting's cost was calculated
-#define POST_COST_IN_FULL 0x80 // cost specified using @@
+#define POST_VIRTUAL 0x04 // the account was specified with (parens)
+#define POST_MUST_BALANCE 0x08 // posting must balance in the transaction
+#define POST_CALCULATED 0x10 // posting's amount was calculated
+#define POST_COST_CALCULATED 0x20 // posting's cost was calculated
+#define POST_COST_IN_FULL 0x40 // cost specified using @@
+#define POST_ANONYMIZED 0x80 // a temporary, anonymous posting
xact_t * xact; // only set for posts of regular xacts
account_t * account;
diff --git a/src/print.cc b/src/print.cc
index f93f5fe8..703e885c 100644
--- a/src/print.cc
+++ b/src/print.cc
@@ -120,6 +120,7 @@ namespace {
foreach (post_t * post, xact.posts) {
if (post->has_flags(ITEM_TEMP | ITEM_GENERATED) &&
+ ! post->has_flags(POST_ANONYMIZED) &&
! report.HANDLED(print_virtual))
continue;