[Gnucash-changes] Priit Laes' patch for C90 compliance.
Derek Atkins
warlord at cvs.gnucash.org
Tue Jul 20 18:50:01 EDT 2004
Log Message:
-----------
Priit Laes' patch for C90 compliance.
* src/engine/Scrub.c
* src/engine/Scrub2.c
* src/engine/gnc-numeric.c
* src/engine/gnc-pricedb.c
* src/engine/kvp-util.c
* src/engine/qofid.c
* src/engine/qofmath128.c
* src/engine/qofquery.c
* src/engine/qofsession.c
* src/engine/test/test-numeric.c
Priit Laes' patch for C90 compliance.
Modified Files:
--------------
gnucash:
ChangeLog
gnucash/src/engine:
Scrub.c
Scrub2.c
gnc-numeric.c
gnc-pricedb.c
kvp-util.c
qofid.c
qofmath128.c
qofquery.c
qofsession.c
gnucash/src/engine/test:
test-numeric.c
Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1828
retrieving revision 1.1829
diff -LChangeLog -LChangeLog -u -r1.1828 -r1.1829
--- ChangeLog
+++ ChangeLog
@@ -1,3 +1,17 @@
+2004-07-20 Derek Atkins <derek at ihtfp.com>
+
+ * src/engine/Scrub.c
+ * src/engine/Scrub2.c
+ * src/engine/gnc-numeric.c
+ * src/engine/gnc-pricedb.c
+ * src/engine/kvp-util.c
+ * src/engine/qofid.c
+ * src/engine/qofmath128.c
+ * src/engine/qofquery.c
+ * src/engine/qofsession.c
+ * src/engine/test/test-numeric.c
+ Priit Laes' patch for C90 compliance.
+
2004-07-13 David Montenegro <sunrise2000 at comcast.net>
* src/report/standard-reports/general-ledger.scm:
Index: Scrub2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Scrub2.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -Lsrc/engine/Scrub2.c -Lsrc/engine/Scrub2.c -u -r1.38 -r1.39
--- src/engine/Scrub2.c
+++ src/engine/Scrub2.c
@@ -156,6 +156,7 @@
{
gnc_commodity *currency = NULL;
SplitList *snode;
+ GList *node;
gnc_numeric zero = gnc_numeric_zero();
gnc_numeric value = zero;
@@ -211,7 +212,6 @@
*/
PERR ("Closed lot fails to double-balance !! lot value=%s",
gnc_num_dbg_to_string (value));
- GList *node;
for (node=lot->splits; node; node=node->next)
{
Split *s = node->data;
Index: qofquery.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/qofquery.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -Lsrc/engine/qofquery.c -Lsrc/engine/qofquery.c -u -r1.25 -r1.26
--- src/engine/qofquery.c
+++ src/engine/qofquery.c
@@ -1216,13 +1216,13 @@
void qof_query_set_book (QofQuery *q, QofBook *book)
{
+ GSList *slist = NULL;
if (!q || !book) return;
/* Make sure this book is only in the list once */
if (g_list_index (q->books, book) == -1)
q->books = g_list_prepend (q->books, book);
- GSList *slist = NULL;
g_slist_prepend (slist, QOF_PARAM_GUID);
g_slist_prepend (slist, QOF_PARAM_BOOK);
qof_query_add_guid_match (q, slist,
Index: qofmath128.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/qofmath128.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -Lsrc/engine/qofmath128.c -Lsrc/engine/qofmath128.c -u -r1.6 -r1.7
--- src/engine/qofmath128.c
+++ src/engine/qofmath128.c
@@ -43,6 +43,13 @@
mult128 (gint64 a, gint64 b)
{
qofint128 prod;
+ guint64 a0, a1;
+ guint64 b0, b1;
+ guint64 d, d0, d1;
+ guint64 e, e0, e1;
+ guint64 f, f0, f1;
+ guint64 g, g0, g1;
+ guint64 sum, carry, roll, pmax;
prod.isneg = 0;
if (0>a)
@@ -57,35 +64,35 @@
b = -b;
}
- guint64 a1 = a >> 32;
- guint64 a0 = a - (a1<<32);
+ a1 = a >> 32;
+ a0 = a - (a1<<32);
- guint64 b1 = b >> 32;
- guint64 b0 = b - (b1<<32);
+ b1 = b >> 32;
+ b0 = b - (b1<<32);
- guint64 d = a0*b0;
- guint64 d1 = d >> 32;
- guint64 d0 = d - (d1<<32);
-
- guint64 e = a0*b1;
- guint64 e1 = e >> 32;
- guint64 e0 = e - (e1<<32);
-
- guint64 f = a1*b0;
- guint64 f1 = f >> 32;
- guint64 f0 = f - (f1<<32);
-
- guint64 g = a1*b1;
- guint64 g1 = g >> 32;
- guint64 g0 = g - (g1<<32);
+ d = a0*b0;
+ d1 = d >> 32;
+ d0 = d - (d1<<32);
+
+ e = a0*b1;
+ e1 = e >> 32;
+ e0 = e - (e1<<32);
+
+ f = a1*b0;
+ f1 = f >> 32;
+ f0 = f - (f1<<32);
+
+ g = a1*b1;
+ g1 = g >> 32;
+ g0 = g - (g1<<32);
- guint64 sum = d1+e0+f0;
- guint64 carry = 0;
+ sum = d1+e0+f0;
+ carry = 0;
/* Can't say 1<<32 cause cpp will goof it up; 1ULL<<32 might work */
- guint64 roll = 1<<30;
+ roll = 1<<30;
roll <<= 2;
- guint64 pmax = roll-1;
+ pmax = roll-1;
while (pmax < sum)
{
sum -= roll;
@@ -125,7 +132,8 @@
inline qofint128
shiftleft128 (qofint128 x)
{
- guint64 sbit = x.lo & HIBIT;
+ guint64 sbit;
+ sbit = x.lo & HIBIT;
x.hi <<= 1;
x.lo <<= 1;
x.isbig = 0;
@@ -174,6 +182,7 @@
div128 (qofint128 n, gint64 d)
{
qofint128 quotient;
+ int i;
guint64 remainder = 0;
quotient = n;
@@ -184,7 +193,6 @@
}
/* Use grade-school long division algorithm */
- int i;
for (i=0; i<128; i++)
{
guint64 sbit = HIBIT & quotient.hi;
Index: Scrub.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Scrub.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -Lsrc/engine/Scrub.c -Lsrc/engine/Scrub.c -u -r1.65 -r1.66
--- src/engine/Scrub.c
+++ src/engine/Scrub.c
@@ -137,6 +137,8 @@
xaccTransScrubOrphans (Transaction *trans)
{
SplitList *node;
+ QofBook *book = NULL;
+ AccountGroup *root = NULL;
for (node = trans->splits; node; node = node->next)
{
Split *split = node->data;
@@ -154,8 +156,8 @@
* XXX we should probably *always* to this, instead of the above loop!
*/
PINFO ("Free Floating Transaction!");
- QofBook *book = xaccTransGetBook (trans);
- AccountGroup *root = xaccGetAccountGroup (book);
+ book = xaccTransGetBook (trans);
+ root = xaccGetAccountGroup (book);
TransScrubOrphansFast (trans, root);
}
@@ -361,6 +363,7 @@
Account *parent)
{
Split *balance_split = NULL;
+ QofBook *book = NULL;
gnc_numeric imbalance;
Account *account;
SplitList *node, *slist;
@@ -394,7 +397,7 @@
/* This should never occur, accounts are always
* in an account group */
PERR ("Can't find root account");
- QofBook *book = xaccTransGetBook (trans);
+ book = xaccTransGetBook (trans);
root = xaccGetAccountGroup (book);
}
if (NULL == root)
Index: qofsession.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/qofsession.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -Lsrc/engine/qofsession.c -Lsrc/engine/qofsession.c -u -r1.13 -r1.14
--- src/engine/qofsession.c
+++ src/engine/qofsession.c
@@ -436,6 +436,7 @@
qof_session_begin (QofSession *session, const char * book_id,
gboolean ignore_lock, gboolean create_if_nonexistent)
{
+ char * p;
if (!session) return;
ENTER (" sess=%p ignore_lock=%d, book-id=%s",
@@ -471,7 +472,7 @@
* "postgres://". Everything before the colon is the access
* method. Load the first backend found for that access method.
*/
- char * p = strchr (book_id, ':');
+ p = strchr (book_id, ':');
if (p)
{
char * access_method = g_strdup (book_id);
Index: gnc-numeric.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/gnc-numeric.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -Lsrc/engine/gnc-numeric.c -Lsrc/engine/gnc-numeric.c -u -r1.57 -r1.58
--- src/engine/gnc-numeric.c
+++ src/engine/gnc-numeric.c
@@ -82,6 +82,7 @@
static inline gint64
gnc_numeric_lcd(gnc_numeric a, gnc_numeric b)
{
+ qofint128 lcm;
if(gnc_numeric_check(a) || gnc_numeric_check(b))
{
return GNC_ERROR_ARG;
@@ -99,7 +100,7 @@
return b.denom;
}
- qofint128 lcm = lcm128 (a.denom, b.denom);
+ lcm = lcm128 (a.denom, b.denom);
if (lcm.isbig) return GNC_ERROR_ARG;
return lcm.lo;
}
@@ -113,6 +114,7 @@
gint64 num;
gint64 denom;
gnc_numeric out;
+ qofint128 red;
t = rem128 (n, d);
num = d;
@@ -127,7 +129,7 @@
}
/* num now holds the GCD (Greatest Common Divisor) */
- qofint128 red = div128 (n, num);
+ red = div128 (n, num);
if (red.isbig)
{
return gnc_numeric_error (GNC_ERROR_OVERFLOW);
@@ -219,6 +221,7 @@
gnc_numeric_compare(gnc_numeric a, gnc_numeric b)
{
gint64 aa, bb;
+ qofint128 l, r;
if(gnc_numeric_check(a) || gnc_numeric_check(b))
{
@@ -235,8 +238,8 @@
if ((a.denom > 0) && (b.denom > 0))
{
/* Avoid overflows using 128-bit intermediate math */
- qofint128 l = mult128 (a.num, b.denom);
- qofint128 r = mult128 (b.num, a.denom);
+ l = mult128 (a.num, b.denom);
+ r = mult128 (b.num, a.denom);
return cmp128 (l,r);
}
@@ -377,18 +380,19 @@
* Computing the LCD minimizes likelyhood of overflow
*/
gint64 lcd;
+ qofint128 ca, cb, cab;
lcd = gnc_numeric_lcd(a,b);
if (GNC_ERROR_ARG == lcd)
{
return gnc_numeric_error(GNC_ERROR_OVERFLOW);
}
- qofint128 ca = mult128 (a.num, lcd/a.denom);
+ ca = mult128 (a.num, lcd/a.denom);
if (ca.isbig) return gnc_numeric_error(GNC_ERROR_OVERFLOW);
- qofint128 cb = mult128 (b.num, lcd/b.denom);
+ cb = mult128 (b.num, lcd/b.denom);
if (cb.isbig) return gnc_numeric_error(GNC_ERROR_OVERFLOW);
- qofint128 cab = add128 (ca, cb);
+ cab = add128 (ca, cb);
if (cab.isbig) return gnc_numeric_error(GNC_ERROR_OVERFLOW);
sum.num = cab.lo;
@@ -414,12 +418,13 @@
gnc_numeric_sub(gnc_numeric a, gnc_numeric b,
gint64 denom, gint how)
{
+ gnc_numeric nb;
if(gnc_numeric_check(a) || gnc_numeric_check(b))
{
return gnc_numeric_error(GNC_ERROR_ARG);
}
- gnc_numeric nb = b;
+ nb = b;
nb.num = -nb.num;
return gnc_numeric_add (a, nb, denom, how);
}
@@ -552,6 +557,7 @@
gint64 denom, gint how)
{
gnc_numeric quotient;
+ qofint128 nume, deno;
if(gnc_numeric_check(a) || gnc_numeric_check(b))
{
@@ -606,8 +612,8 @@
sgn = -sgn;
b.num = -b.num;
}
- qofint128 nume = mult128(a.num, b.denom);
- qofint128 deno = mult128(b.num, a.denom);
+ nume = mult128(a.num, b.denom);
+ deno = mult128(b.num, a.denom);
/* Try to avoid overflow by removing common factors */
if (nume.isbig && deno.isbig)
@@ -717,6 +723,7 @@
gint denom_neg=0;
double ratio, logratio;
double sigfigs;
+ qofint128 nume, newm;
if(gnc_numeric_check(in)) {
return gnc_numeric_error(GNC_ERROR_ARG);
@@ -813,8 +820,8 @@
* out.num = out.num / temp.denom;
* out.denom = denom;
*/
- qofint128 nume = mult128 (in.num, temp.num);
- qofint128 newm = div128 (nume, temp.denom);
+ nume = mult128 (in.num, temp.num);
+ newm = div128 (nume, temp.denom);
remainder = rem128 (nume, temp.denom);
if (newm.isbig)
Index: qofid.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/qofid.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -Lsrc/engine/qofid.c -Lsrc/engine/qofid.c -u -r1.11 -r1.12
--- src/engine/qofid.c
+++ src/engine/qofid.c
@@ -182,8 +182,9 @@
static void
qof_collection_remove_entity (QofEntity *ent)
{
+ QofCollection *col;
if (!ent) return;
- QofCollection *col = ent->collection;
+ col = ent->collection;
if (!col) return;
g_hash_table_remove (col->hash_of_entities, &ent->guid);
ent->collection = NULL;
Index: gnc-pricedb.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/gnc-pricedb.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -Lsrc/engine/gnc-pricedb.c -Lsrc/engine/gnc-pricedb.c -u -r1.77 -r1.78
--- src/engine/gnc-pricedb.c
+++ src/engine/gnc-pricedb.c
@@ -553,13 +553,14 @@
gnc_pricedb_create(QofBook * book)
{
GNCPriceDB * result;
+ QofCollection *col;
g_return_val_if_fail (book, NULL);
/* There can only be one pricedb per book. So if one exits already,
* then use that. Warn user, they shouldn't be creating two ...
*/
- QofCollection *col = qof_book_get_collection (book, GNC_ID_PRICEDB);
+ col = qof_book_get_collection (book, GNC_ID_PRICEDB);
result = qof_collection_get_data (col);
if (result)
{
@@ -584,10 +585,11 @@
{
GList *price_list = (GList *) data;
GList *node;
+ GNCPrice *p;
for (node = price_list; node; node = node->next)
{
- GNCPrice *p = node->data;
+ p = node->data;
p->db = NULL;
}
Index: kvp-util.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/kvp-util.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -Lsrc/engine/kvp-util.c -Lsrc/engine/kvp-util.c -u -r1.15 -r1.16
--- src/engine/kvp-util.c
+++ src/engine/kvp-util.c
@@ -165,7 +165,7 @@
static KvpFrame *
gnc_kvp_bag_get_first (KvpFrame *root, const char * path)
{
- KvpValue *arr;
+ KvpValue *arr, *va;
KvpValueType valtype;
GList *node;
@@ -182,7 +182,7 @@
node = kvp_value_get_glist(arr);
if (NULL == node) return NULL;
- KvpValue *va = node->data;
+ va = node->data;
return kvp_value_get_frame(va);
}
Index: test-numeric.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/test/test-numeric.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -Lsrc/engine/test/test-numeric.c -Lsrc/engine/test/test-numeric.c -u -r1.19 -r1.20
--- src/engine/test/test-numeric.c
+++ src/engine/test/test-numeric.c
@@ -112,19 +112,22 @@
static void
check_reduce (void)
{
+ gnc_numeric one, rone;
+ gnc_numeric four, rfour;
+ gnc_numeric val, rval;
/* Check common factor elimination (needed for equality checks) */
- gnc_numeric one = gnc_numeric_create (1,1);
- gnc_numeric rone = gnc_numeric_create (1000000,1000000);
+ one = gnc_numeric_create (1,1);
+ rone = gnc_numeric_create (1000000,1000000);
rone = gnc_numeric_reduce (rone);
do_test (gnc_numeric_eq(one, rone), "reduce to one");
- gnc_numeric four = gnc_numeric_create (4,1);
- gnc_numeric rfour = gnc_numeric_create (480,120);
+ four = gnc_numeric_create (4,1);
+ rfour = gnc_numeric_create (480,120);
rfour = gnc_numeric_reduce (rfour);
do_test (gnc_numeric_eq(four, rfour), "reduce to four");
- gnc_numeric val = gnc_numeric_create(10023234LL, 334216654LL);
- gnc_numeric rval = gnc_numeric_reduce (val);
+ val = gnc_numeric_create(10023234LL, 334216654LL);
+ rval = gnc_numeric_reduce (val);
check_unary_op (gnc_numeric_eq,
gnc_numeric_create (5011617,167108327),
rval,
@@ -150,14 +153,20 @@
static void
check_equality_operator (void)
{
+ int i, m;
+ gint deno, mult, numer;
+ gint64 f;
+ gnc_numeric big, rbig;
+ gnc_numeric val, mval;
+ gnc_numeric bval, rval;
/* Check equality operator for some large numer/denom values */
- gint64 numer = 1<<30;
+ numer = 1<<30;
numer <<= 30; /* we don't trust cpp to compute 1<<60 correctly */
- gint64 deno = 1<<30;
+ deno = 1<<30;
deno <<= 20;
- gnc_numeric rbig = gnc_numeric_create (numer, deno);
+ rbig = gnc_numeric_create (numer, deno);
- gnc_numeric big = gnc_numeric_create (1<<10,1);
+ big = gnc_numeric_create (1<<10,1);
do_test (gnc_numeric_equal(big, rbig), "equal to billion");
big = gnc_numeric_create (1<<20,1<<10);
@@ -183,20 +192,19 @@
big = gnc_numeric_create (numer, 1<<20);
do_test (gnc_numeric_equal(big, rbig), "equal to 1<<50/1<<20");
- int i;
/* We assume RAND_MAX is less that 1<<32 */
for (i=0; i<NREPS; i++)
{
- gint64 deno = rand() / 2;
- gint64 mult = rand() / 2;
- gint64 numer = rand() / 2;
+ deno = rand() / 2;
+ mult = rand() / 2;
+ numer = rand() / 2;
- gnc_numeric val = gnc_numeric_create (numer, deno);
- gnc_numeric mval = gnc_numeric_create (numer*mult, deno*mult);
+ val = gnc_numeric_create (numer, deno);
+ mval = gnc_numeric_create (numer*mult, deno*mult);
/* The reduced version should be equivalent */
- gnc_numeric bval = gnc_numeric_reduce (val);
- gnc_numeric rval = gnc_numeric_reduce (mval);
+ bval = gnc_numeric_reduce (val);
+ rval = gnc_numeric_reduce (mval);
check_unary_op (gnc_numeric_eq,
bval, rval, mval, "expected %s = %s = reduce(%s)");
@@ -209,8 +217,8 @@
* might creep in. */
mval.denom >>= 1;
mval.num >>= 1;
- int m=0;
- gint64 f = mval.denom;
+ m=0;
+ f = mval.denom;
while (f%2 == 0)
{
f >>= 1;
@@ -297,6 +305,7 @@
static void
check_double (void)
{
+ double flo;
gnc_numeric val = gnc_numeric_create (0,1);
check_unary_op (gnc_numeric_eq,
@@ -330,7 +339,7 @@
GNC_HOW_RND_ROUND),
val, "expected %s = %s double 6 figs");
- double flo = gnc_numeric_to_double(gnc_numeric_create(7, 16));
+ flo = gnc_numeric_to_double(gnc_numeric_create(7, 16));
do_test ((0.4375 == flo), "float pt conversion");
}
@@ -359,8 +368,14 @@
static void
check_add_subtract (void)
{
- gnc_numeric a = gnc_numeric_create(2, 6);
- gnc_numeric b = gnc_numeric_create(1, 4);
+ int i;
+ gnc_numeric a, b, c, d, z;
+#if CHECK_ERRORS_TOO
+ gnc_numeric c;
+#endif
+
+ a = gnc_numeric_create(2, 6);
+ b = gnc_numeric_create(1, 4);
/* Well, actually 14/24 would be acceptable/better in this case */
check_binary_op (gnc_numeric_create(7,12),
@@ -402,9 +417,9 @@
/* ------------------------------------------------------------ */
/* This test has failed before */
- gnc_numeric c = gnc_numeric_neg (a);
- gnc_numeric d = gnc_numeric_neg (b);
- gnc_numeric z = gnc_numeric_zero();
+ c = gnc_numeric_neg (a);
+ d = gnc_numeric_neg (b);
+ z = gnc_numeric_zero();
check_binary_op (c, gnc_numeric_add_fixed(z,c),
z, c, "expected %s got %s = %s + %s for add fixed");
@@ -455,7 +470,6 @@
/* ------------------------------------------------------------ */
#if CHECK_ERRORS_TOO
- gnc_numeric c;
c = gnc_numeric_add_with_error(a, b, 100, GNC_HOW_RND_ROUND, &err);
printf("add 100ths/error : %s + %s = %s + (error) %s\n\n",
gnc_numeric_print(a), gnc_numeric_print(b),
@@ -472,7 +486,6 @@
/* ------------------------------------------------------------ */
/* Add and subtract some random numbers */
- int i;
for (i=0; i<NREPS; i++)
{
gnc_numeric e;
@@ -509,7 +522,11 @@
static void
check_mult_div (void)
{
+ int i, j;
+ gint64 v;
gnc_numeric c, d;
+ gnc_numeric amt_a, amt_tot, frac, val_tot, val_a;
+
gnc_numeric a = gnc_numeric_create(2, 6);
gnc_numeric b = gnc_numeric_create(1, 4);
@@ -556,7 +573,7 @@
/* Check for math with 2^63 < num*num < 2^64 which previously failed
* see http://bugzilla.gnome.org/show_bug.cgi?id=144980
*/
- gint64 v = 1000000;
+ v = 1000000;
a = gnc_numeric_create(1*v, v);
b = gnc_numeric_create(10000000*v, v);
@@ -567,7 +584,6 @@
/* Multiply some random numbers. This test presumes that
* RAND_MAX is approx 2^32
*/
- int i;
for (i=0; i<NREPS; i++)
{
gint64 deno = 1;
@@ -588,7 +604,6 @@
a, b, "expected %s got %s = %s * %s for mult exact");
/* Force 128-bit math to come into play */
- int j;
for (j=1; j<31; j++)
{
a = gnc_numeric_create(na << j, 1<<j);
@@ -673,9 +688,9 @@
c, d, "expected %s got %s = %s / %s for div round");
/* A simple irreducible ratio, involving negative numbers */
- gnc_numeric amt_a = gnc_numeric_create (-6005287905LL, 40595);
- gnc_numeric amt_tot = gnc_numeric_create (-8744187958LL, 40595);
- gnc_numeric frac = gnc_numeric_div (amt_a, amt_tot,
+ amt_a = gnc_numeric_create (-6005287905LL, 40595);
+ amt_tot = gnc_numeric_create (-8744187958LL, 40595);
+ frac = gnc_numeric_div (amt_a, amt_tot,
GNC_DENOM_AUTO, GNC_HOW_DENOM_REDUCE);
check_binary_op (gnc_numeric_create(6005287905LL, 8744187958LL),
@@ -683,8 +698,8 @@
"expected %s got %s = %s / %s for div reduce");
/* Another overflow-prone condition */
- gnc_numeric val_tot = gnc_numeric_create (-4280656418LL, 19873);
- gnc_numeric val_a = gnc_numeric_mul (frac, val_tot,
+ val_tot = gnc_numeric_create (-4280656418LL, 19873);
+ val_a = gnc_numeric_mul (frac, val_tot,
gnc_numeric_denom(val_tot),
GNC_HOW_RND_ROUND| GNC_HOW_DENOM_EXACT);
check_binary_op (gnc_numeric_create(-2939846940LL, 19873),
More information about the gnucash-changes
mailing list