diff options
author | John Wiegley <johnw@newartisans.com> | 2010-06-02 00:19:07 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2010-06-02 00:27:35 -0400 |
commit | e0c5f6db30382960fa60739c368e3700e5f71b67 (patch) | |
tree | d1bef21c1c6e272c13c6d50d85bedc4c64adc34a | |
parent | 281225db1380d7ab3a741820c27c0e20beddc977 (diff) | |
download | fork-ledger-e0c5f6db30382960fa60739c368e3700e5f71b67.tar.gz fork-ledger-e0c5f6db30382960fa60739c368e3700e5f71b67.tar.bz2 fork-ledger-e0c5f6db30382960fa60739c368e3700e5f71b67.zip |
Fixed two memory reference errors
-rw-r--r-- | src/account.cc | 11 | ||||
-rw-r--r-- | src/times.cc | 13 |
2 files changed, 9 insertions, 15 deletions
diff --git a/src/account.cc b/src/account.cc index 46f37091..8d4341e7 100644 --- a/src/account.cc +++ b/src/account.cc @@ -42,16 +42,11 @@ account_t::~account_t() { TRACE_DTOR(account_t); - foreach (accounts_map::value_type& pair, accounts) + foreach (accounts_map::value_type& pair, accounts) { if (! pair.second->has_flags(ACCOUNT_TEMP) || - has_flags(ACCOUNT_TEMP)) + has_flags(ACCOUNT_TEMP)) { checked_delete(pair.second); - - foreach (post_t * post, posts) { - if (post->account) { - assert(post->account == this); - post->account = NULL; - } + } } } diff --git a/src/times.cc b/src/times.cc index 35082f51..a7906aee 100644 --- a/src/times.cc +++ b/src/times.cc @@ -197,8 +197,6 @@ namespace { optional_year year, date_traits_t * traits = NULL) { - date_t when; - VERIFY(std::strlen(date_str) < 127); char buf[128]; @@ -208,7 +206,7 @@ namespace { if (*p == '.' || *p == '-') *p = '/'; - when = io.parse(buf); + date_t when = io.parse(buf); if (! when.is_not_a_date()) { DEBUG("times.parse", "Passed date string: " << date_str); @@ -216,12 +214,13 @@ namespace { DEBUG("times.parse", "Parsed result is: " << when); DEBUG("times.parse", "Formatted result is: " << io.format(when)); - const char * p = io.format(when).c_str(); + string when_str = io.format(when); + + const char * p = when_str.c_str(); const char * q = buf; - for (; *p != '\0' && *q != '\0'; - p++, q++) { + for (; *p && *q; p++, q++) { if (*p != *q && *p == '0') p++; - if (*p != *q) break; + if (! *p || *p != *q) break; } if (*p != '\0' || *q != '\0') throw_(date_error, _("Invalid date: %1") << date_str); |