* numbers.c (scm_i_fraction_reduce): move logic into
authorHan-Wen Nienhuys <hanwen@lilypond.org>
Sat, 23 Dec 2006 20:35:32 +0000 (20:35 +0000)
committerHan-Wen Nienhuys <hanwen@lilypond.org>
Sat, 23 Dec 2006 20:35:32 +0000 (20:35 +0000)
commite2bf3b19f666260d2e666a8686fee0ef553b87fb
treefe454d58ab663cf8b18f659dc0cfadfb60e47aa4
parentf30e1bdf97ae8b2b2918da585f887a4d3a23a347
* numbers.c (scm_i_fraction_reduce): move logic into
scm_i_make_ratio(), so fractions are only read.
scm_i_fraction_reduce() modifies a fraction when reading it.  A
race condition might lead to fractions being corrupted by reading
them concurrently.

* numbers.h: remove SCM_FRACTION_SET_NUMERATOR,
SCM_FRACTION_SET_DENOMINATOR, SCM_FRACTION_REDUCED_BIT,
SCM_FRACTION_REDUCED_SET, SCM_FRACTION_REDUCED_CLEAR,
SCM_FRACTION_REDUCED.
libguile/ChangeLog
libguile/numbers.c
libguile/numbers.h