summaryrefslogtreecommitdiff
path: root/src/value.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/value.cc')
-rw-r--r--src/value.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/value.cc b/src/value.cc
index 7d079caf..54798162 100644
--- a/src/value.cc
+++ b/src/value.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003-2009, John Wiegley. All rights reserved.
+ * Copyright (c) 2003-2010, John Wiegley. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -857,12 +857,12 @@ bool value_t::is_less_than(const value_t& val) const
case INTEGER:
return as_amount() < val.as_long();
case AMOUNT:
- try {
+ if (as_amount().commodity() == val.as_amount().commodity() ||
+ ! as_amount().has_commodity() ||
+ ! val.as_amount().has_commodity())
return as_amount() < val.as_amount();
- }
- catch (const amount_error&) {
+ else
return commodity_t::compare_by_commodity()(&as_amount(), &val.as_amount());
- }
default:
break;
}