Fixed two memory reference errors
This commit is contained in:
parent
281225db13
commit
e0c5f6db30
2 changed files with 9 additions and 15 deletions
|
|
@ -42,16 +42,11 @@ account_t::~account_t()
|
||||||
{
|
{
|
||||||
TRACE_DTOR(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) ||
|
if (! pair.second->has_flags(ACCOUNT_TEMP) ||
|
||||||
has_flags(ACCOUNT_TEMP))
|
has_flags(ACCOUNT_TEMP)) {
|
||||||
checked_delete(pair.second);
|
checked_delete(pair.second);
|
||||||
|
}
|
||||||
foreach (post_t * post, posts) {
|
|
||||||
if (post->account) {
|
|
||||||
assert(post->account == this);
|
|
||||||
post->account = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
13
src/times.cc
13
src/times.cc
|
|
@ -197,8 +197,6 @@ namespace {
|
||||||
optional_year year,
|
optional_year year,
|
||||||
date_traits_t * traits = NULL)
|
date_traits_t * traits = NULL)
|
||||||
{
|
{
|
||||||
date_t when;
|
|
||||||
|
|
||||||
VERIFY(std::strlen(date_str) < 127);
|
VERIFY(std::strlen(date_str) < 127);
|
||||||
|
|
||||||
char buf[128];
|
char buf[128];
|
||||||
|
|
@ -208,7 +206,7 @@ namespace {
|
||||||
if (*p == '.' || *p == '-')
|
if (*p == '.' || *p == '-')
|
||||||
*p = '/';
|
*p = '/';
|
||||||
|
|
||||||
when = io.parse(buf);
|
date_t when = io.parse(buf);
|
||||||
|
|
||||||
if (! when.is_not_a_date()) {
|
if (! when.is_not_a_date()) {
|
||||||
DEBUG("times.parse", "Passed date string: " << date_str);
|
DEBUG("times.parse", "Passed date string: " << date_str);
|
||||||
|
|
@ -216,12 +214,13 @@ namespace {
|
||||||
DEBUG("times.parse", "Parsed result is: " << when);
|
DEBUG("times.parse", "Parsed result is: " << when);
|
||||||
DEBUG("times.parse", "Formatted result is: " << io.format(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;
|
const char * q = buf;
|
||||||
for (; *p != '\0' && *q != '\0';
|
for (; *p && *q; p++, q++) {
|
||||||
p++, q++) {
|
|
||||||
if (*p != *q && *p == '0') p++;
|
if (*p != *q && *p == '0') p++;
|
||||||
if (*p != *q) break;
|
if (! *p || *p != *q) break;
|
||||||
}
|
}
|
||||||
if (*p != '\0' || *q != '\0')
|
if (*p != '\0' || *q != '\0')
|
||||||
throw_(date_error, _("Invalid date: %1") << date_str);
|
throw_(date_error, _("Invalid date: %1") << date_str);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue