[Gnucash-changes] bug fix -- the RND_NEVER flag was being ignored

Linas Vepstas linas at cvs.gnucash.org
Tue Jun 29 22:21:55 EDT 2004


Log Message:
-----------
bug fix -- the RND_NEVER flag was being ignored

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.47
retrieving revision 1.48
diff -Lsrc/engine/gnc-numeric.c -Lsrc/engine/gnc-numeric.c -u -r1.47 -r1.48
--- src/engine/gnc-numeric.c
+++ src/engine/gnc-numeric.c
@@ -730,6 +730,8 @@
    * the reciprocal of its magnitude. */
   if(denom < 0) 
   {
+
+    /* XXX FIXME: use 128-bit math here ... */
     denom     = - denom;
     denom_neg = 1;
     temp_a    = (in.num < 0) ? -in.num : in.num;
@@ -766,9 +768,10 @@
     out.denom = denom;
   }
 
-  if(remainder > 0) 
+  if (remainder) 
   {
-    switch(how) {
+    switch(how & GNC_NUMERIC_RND_MASK) 
+    {
     case GNC_HOW_RND_FLOOR:
       if(sign < 0) {
         out.num = out.num + 1;


More information about the gnucash-changes mailing list