*** empty log message ***
This commit is contained in:
parent
2982e637c2
commit
9ec136db90
6 changed files with 24 additions and 14 deletions
|
|
@ -1952,7 +1952,7 @@ void export_amount()
|
||||||
;
|
;
|
||||||
|
|
||||||
class_< commodity_base_t::updater_t, commodity_updater_wrap,
|
class_< commodity_base_t::updater_t, commodity_updater_wrap,
|
||||||
boost::noncopyable >
|
boost::noncopyable >
|
||||||
("Updater")
|
("Updater")
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -227,9 +227,9 @@ class datetime_t : public date_t
|
||||||
};
|
};
|
||||||
|
|
||||||
inline long operator-(const datetime_t& left, const datetime_t& right) {
|
inline long operator-(const datetime_t& left, const datetime_t& right) {
|
||||||
datetime_t temp(left);
|
std::time_t left_time(left);
|
||||||
temp -= right;
|
std::time_t right_time(right);
|
||||||
return temp;
|
return left_time - right_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline datetime_t operator+(const datetime_t& left, const long seconds) {
|
inline datetime_t operator+(const datetime_t& left, const long seconds) {
|
||||||
|
|
|
||||||
13
textual.cc
13
textual.cc
|
|
@ -185,7 +185,8 @@ transaction_t * parse_transaction(char * line, account_t * account,
|
||||||
unsigned long beg = (long)in.tellg();
|
unsigned long beg = (long)in.tellg();
|
||||||
|
|
||||||
xact->amount_expr =
|
xact->amount_expr =
|
||||||
parse_amount_expr(in, xact->amount, xact.get());
|
parse_amount_expr(in, xact->amount, xact.get(),
|
||||||
|
PARSE_VALEXPR_NO_REDUCE);
|
||||||
|
|
||||||
unsigned long end = (long)in.tellg();
|
unsigned long end = (long)in.tellg();
|
||||||
xact->amount_expr.expr = std::string(line, beg, end - beg);
|
xact->amount_expr.expr = std::string(line, beg, end - beg);
|
||||||
|
|
@ -492,12 +493,11 @@ bool textual_parser_t::test(std::istream& in) const
|
||||||
}
|
}
|
||||||
|
|
||||||
static void clock_out_from_timelog(const datetime_t& when,
|
static void clock_out_from_timelog(const datetime_t& when,
|
||||||
account_t * account,
|
account_t * account,
|
||||||
const char * desc,
|
const char * desc,
|
||||||
journal_t * journal)
|
journal_t * journal)
|
||||||
{
|
{
|
||||||
time_entry_t event;
|
time_entry_t event;
|
||||||
bool found = false;
|
|
||||||
|
|
||||||
if (time_entries.size() == 1) {
|
if (time_entries.size() == 1) {
|
||||||
event = time_entries.back();
|
event = time_entries.back();
|
||||||
|
|
@ -511,6 +511,8 @@ static void clock_out_from_timelog(const datetime_t& when,
|
||||||
("When multiple check-ins are active, checking out requires an account");
|
("When multiple check-ins are active, checking out requires an account");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
bool found = false;
|
||||||
|
|
||||||
for (std::list<time_entry_t>::iterator i = time_entries.begin();
|
for (std::list<time_entry_t>::iterator i = time_entries.begin();
|
||||||
i != time_entries.end();
|
i != time_entries.end();
|
||||||
i++)
|
i++)
|
||||||
|
|
@ -520,6 +522,7 @@ static void clock_out_from_timelog(const datetime_t& when,
|
||||||
time_entries.erase(i);
|
time_entries.erase(i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! found)
|
if (! found)
|
||||||
throw new parse_error
|
throw new parse_error
|
||||||
("Timelog check-out event does not match any current check-ins");
|
("Timelog check-out event does not match any current check-ins");
|
||||||
|
|
|
||||||
10
valexpr.cc
10
valexpr.cc
|
|
@ -770,8 +770,14 @@ value_expr_t * parse_value_term(std::istream& in, scope_t * scope,
|
||||||
// the current maximum precision displayed.
|
// the current maximum precision displayed.
|
||||||
try {
|
try {
|
||||||
pos = (long)in.tellg();
|
pos = (long)in.tellg();
|
||||||
temp.parse(in, flags & PARSE_VALEXPR_NO_MIGRATE ?
|
|
||||||
AMOUNT_PARSE_NO_MIGRATE : 0);
|
unsigned char parse_flags = 0;
|
||||||
|
if (flags & PARSE_VALEXPR_NO_MIGRATE)
|
||||||
|
parse_flags |= AMOUNT_PARSE_NO_MIGRATE;
|
||||||
|
if (flags & PARSE_VALEXPR_NO_REDUCE)
|
||||||
|
parse_flags |= AMOUNT_PARSE_NO_REDUCE;
|
||||||
|
|
||||||
|
temp.parse(in, parse_flags);
|
||||||
}
|
}
|
||||||
catch (amount_error * err) {
|
catch (amount_error * err) {
|
||||||
// If the amount had no commodity, it must be an unambiguous
|
// If the amount had no commodity, it must be an unambiguous
|
||||||
|
|
|
||||||
|
|
@ -279,6 +279,7 @@ bool compute_amount(value_expr_t * expr, amount_t& amt,
|
||||||
#define PARSE_VALEXPR_PARTIAL 0x01
|
#define PARSE_VALEXPR_PARTIAL 0x01
|
||||||
#define PARSE_VALEXPR_RELAXED 0x02
|
#define PARSE_VALEXPR_RELAXED 0x02
|
||||||
#define PARSE_VALEXPR_NO_MIGRATE 0x04
|
#define PARSE_VALEXPR_NO_MIGRATE 0x04
|
||||||
|
#define PARSE_VALEXPR_NO_REDUCE 0x08
|
||||||
|
|
||||||
value_expr_t * parse_value_expr(std::istream& in,
|
value_expr_t * parse_value_expr(std::istream& in,
|
||||||
scope_t * scope = NULL,
|
scope_t * scope = NULL,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue