AUDIT: r17293 - gnucash/trunk/src/report/report-system - Reporting: Ignore exchange rates if the quantity to exchange is zero.

Charles Day cedayiv at cvs.gnucash.org
Fri Jul 11 12:06:49 EDT 2008


Author: cedayiv
Date: 2008-07-11 12:06:48 -0400 (Fri, 11 Jul 2008)
New Revision: 17293
Trac: http://svn.gnucash.org/trac/changeset/17293

Modified:
   gnucash/trunk/src/report/report-system/commodity-utilities.scm
Log:
Reporting: Ignore exchange rates if the quantity to exchange is zero.
BP


Modified: gnucash/trunk/src/report/report-system/commodity-utilities.scm
===================================================================
--- gnucash/trunk/src/report/report-system/commodity-utilities.scm	2008-07-11 00:34:56 UTC (rev 17292)
+++ gnucash/trunk/src/report/report-system/commodity-utilities.scm	2008-07-11 16:06:48 UTC (rev 17293)
@@ -775,23 +775,24 @@
 (define (gnc:make-exchange-function exchange-alist)
   (let ((exchangelist exchange-alist))
     (lambda (foreign domestic)
-      (begin
-	(gnc:debug "foreign: " foreign)
-	(gnc:debug "domestic: " domestic)
-	(if foreign
-	    (or (gnc:exchange-by-euro foreign domestic #f)
-		(gnc:exchange-if-same foreign domestic)
-		(gnc:make-gnc-monetary 
-		 domestic
-		 (let ((pair (assoc (gnc:gnc-monetary-commodity foreign) 
-				    exchangelist)))
-		   (if (not pair)
-		       (gnc-numeric-zero)
-		       (gnc-numeric-mul (gnc:gnc-monetary-amount foreign)
-					(cadr pair)
-					(gnc-commodity-get-fraction domestic)
-					GNC-RND-ROUND)))))
-	  #f)))))
+      (gnc:debug "foreign: " foreign)
+      (gnc:debug "domestic: " domestic)
+      (if foreign
+          (or (gnc:exchange-by-euro foreign domestic #f)
+              (gnc:exchange-if-same foreign domestic)
+              (gnc:make-gnc-monetary
+               domestic
+               (let ((pair (assoc (gnc:gnc-monetary-commodity foreign)
+                                  exchangelist))
+                     (foreign-amount (gnc:gnc-monetary-amount foreign)))
+                 (if (or (not pair)
+                         (gnc-numeric-zero-p foreign-amount))
+                     (gnc-numeric-zero)
+                     (gnc-numeric-mul foreign-amount
+                                      (cadr pair)
+                                      (gnc-commodity-get-fraction domestic)
+                                      GNC-RND-ROUND)))))
+          #f))))
 
 ;; Helper for the gnc:exchange-by-pricalist* below. Exchange the
 ;; <gnc:monetary> 'foreign' into the <gnc:commodity*> 'domestic' by



More information about the gnucash-changes mailing list