[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gnucash: [PATCH] Fixed the "missing cents" bug



Adam C Powell IV wrote:

> Chris Baker wrote:
>
> > It builds okay without -fsigned-char.  Now, instead of not printing
> > any fractional decimal places, it prints too many:
> >
> > 14.110000000
> >
> > Still, better than nothing....
>
> True.  It's probably setting the precision to 127 or 255 now!  (It's automatically
> truncated to between 0 and 9 by util_fptostr.)  I'll look into it, probably by the end
> of the week, this sounds easy to fix.  If you want to look into it, check out
> src/engine/util.c around line 400, which is where the char attributes in the lconv
> structure are set (it's called by the subroutine below).  The default values are
> 255/-1, which should be equal to CHAR_MAX if it's built without -fsigned_char.

Okay, I just built without -fsigned_char (using the attached trivial micropatch), and all
seems well!  I'm not quite sure what trouble you're having, but if you could use the
second attached patch to print what's going on in there (just "make" in the gnucash dir,
then run the binary using the script in gnucash-1.4.5/src), we might figure out what's
going on...

-Adam P.

                  Welcome to the best software in the world today cafe!
--- gnucash-1.4.5.old/debian/rules	Sat Sep  9 21:02:14 2000
+++ gnucash-1.4.5/debian/rules	Tue Sep 12 07:27:03 2000
@@ -13,7 +13,7 @@
 	$(checkdir)
 	automake
 	autoconf
-	CFLAGS="-fsigned-char -g" ./configure --prefix=/usr
+	./configure --prefix=/usr
 	make
 	make check
 	touch build
--- gnucash-1.4.5/src/engine/util.c.bak	Wed Sep 13 09:45:28 2000
+++ gnucash-1.4.5/src/engine/util.c	Wed Sep 13 09:13:50 2000
@@ -398,8 +398,11 @@
 static void
 gnc_lconv_set_char(char *p_value, char default_value)
 {
+  printf ("p_value = %d, CHAR_MAX = %d, default = %d\n", *p_value, CHAR_MAX,
+	  default_value);
   if ((p_value != NULL) && (*p_value == CHAR_MAX))
     *p_value = default_value;
+  printf ("Now p_value = %d\n", *p_value);
 }
 
 struct lconv *

Reply to: