> master is very stable, I'm interesting in anything you have to report.

Oh, well then :)
After reading the manual I see that the format of some commands have
changed, so after adapting to that I only have two issues.

The following is only a problem if you considered the old ledger file
format 'stable'...:

04/04 CS Club Sign
  ... omitted entries ...
  Expenses:School:CS Club:Home Depot:4" Brush   2 @ $3.97
  Liabilities:Mastercard                   $-53.90

Used to work fine, but returned 'Error: Cannot annotate an amount with
no commodity'. I fixed it with:

04/04 CS Club Sign
  ... omitted entries ...
  Expenses:School:CS Club:Home Depot:4" Brush   ($3.97 * 2)
  Liabilities:Mastercard                   $-53.90

Also, it doesn't seem to like (2 * $3.97), it complains about
multiplying an amount by an amount.

Secondly, I needed to change a couple 'char*' temporaries to 'const
char*' (I'm using gcc 4.4.0)
The problem arises because the STL's strchr() returns a const char*
when given a const char* as a parameter.
Happily, it was the only such error I ran across.

commit f64750b25f0814951adbd751e916fde79c20aa4c
Author: Andrew Potter <[email protected]>
Date:   Tue May 26 17:23:34 2009 -0700

    Fix pointer const-ness in parse_tags()

diff --git a/src/item.cc b/src/item.cc
index 0f9b1dc..758ce25 100644
--- a/src/item.cc
+++ b/src/item.cc
@@ -116,8 +116,8 @@ void item_t::set_tag(const string&           tag,

 void item_t::parse_tags(const char * p, int current_year)
 {
-  if (char * b = std::strchr(p, '[')) {
-    if (char * e = std::strchr(p, ']')) {
+  if (const char * b = std::strchr(p, '[')) {
+    if (const char * e = std::strchr(p, ']')) {
       char buf[256];
       std::strncpy(buf, b + 1, e - b - 1);
       buf[e - b - 1] = '\0';



Anyways, I love ledger, thanks a lot. :)

Reply via email to