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 via email to