summaryrefslogtreecommitdiff
path: root/gnucash.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2006-02-16 21:10:50 +0000
committerJohn Wiegley <johnw@newartisans.com>2008-04-13 02:41:24 -0400
commitf43370cae5d9297487fedeefa427d42ab869df48 (patch)
tree247b3e1f9628fd62e19f0758d8f7265308b1d8e2 /gnucash.cc
parentb0414258467a1216f69dc01ae7a7ad8af2751b8b (diff)
downloadfork-ledger-f43370cae5d9297487fedeefa427d42ab869df48.tar.gz
fork-ledger-f43370cae5d9297487fedeefa427d42ab869df48.tar.bz2
fork-ledger-f43370cae5d9297487fedeefa427d42ab869df48.zip
Transactions now track their beginning and ending position, as do
entries. The new format strings %xB %xE %xb %xe can be used to display those values relative to a transaction. The Emacs module now relies on this support to exactly determine where a transaction is, rather than the Elisp logic it relied on previously.
Diffstat (limited to 'gnucash.cc')
-rw-r--r--gnucash.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/gnucash.cc b/gnucash.cc
index b90c797e..8b27490c 100644
--- a/gnucash.cc
+++ b/gnucash.cc
@@ -189,6 +189,11 @@ static void endElement(void *userData, const char *name)
if (value != curr_value)
xact->cost = new amount_t(curr_value);
+ xact->beg_pos = beg_pos;
+ xact->beg_line = beg_line;
+ xact->end_pos = instreamp->tellg();
+ xact->end_line = XML_GetCurrentLineNumber(parser) - offset;
+
// Clear the relevant variables for the next run
curr_state = transaction_t::UNCLEARED;
curr_value = amount_t();