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 *