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: