[Gnucash-changes] bug-fix -- adding negative num to zero used to
give a positive result.
Linas Vepstas
linas at cvs.gnucash.org
Thu Jul 1 23:13:43 EDT 2004
Log Message:
-----------
bug-fix -- adding negative num to zero used to give a positive result.
(this bug was introduced only recently, about a week ago, with the changes
to 128-bit intermediate calculations, and does not/should not affect any
actual users).
Modified Files:
--------------
gnucash/src/engine:
gnc-numeric.c
Revision Data
-------------
Index: gnc-numeric.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/gnc-numeric.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -Lsrc/engine/gnc-numeric.c -Lsrc/engine/gnc-numeric.c -u -r1.49 -r1.50
--- src/engine/gnc-numeric.c
+++ src/engine/gnc-numeric.c
@@ -327,9 +327,11 @@
}
else if(b.num == 0) {
denom = a.denom;
+ b.denom = a.denom;
}
else if(a.num == 0) {
denom = b.denom;
+ a.denom = b.denom;
}
else {
return gnc_numeric_error(GNC_ERROR_DENOM_DIFF);
@@ -378,6 +380,7 @@
if (cab.isbig) return gnc_numeric_error(GNC_ERROR_OVERFLOW);
sum.num = cab.lo;
+ if (cab.isneg) sum.num = -sum.num;
sum.denom = lcd;
}
More information about the gnucash-changes
mailing list