Index: ossp-pkg/pth/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/pth/ChangeLog,v rcsdiff -q -kk '-r1.610' '-r1.611' -u '/v/ossp/cvs/ossp-pkg/pth/ChangeLog,v' 2>/dev/null --- ChangeLog 2004/07/13 10:50:48 1.610 +++ ChangeLog 2004/07/13 10:53:53 1.611 @@ -21,6 +21,10 @@ Changes between 2.0.0 and 2.0.1 (17-Feb-2003 to xx-XXX-2003) + *) Resolve symbol conflict in pth_string.c between pow10/round + and GCC builtins. + [Ralf S. Engelschall] + *) Use GCC 3.3 option "-fno-strict-aliasing" (if available) under Autoconf option "--enable-debug" because mainly pth_mctx.c contains important and correct pointer casting constructs which Index: ossp-pkg/pth/pth_string.c RCS File: /v/ossp/cvs/ossp-pkg/pth/pth_string.c,v rcsdiff -q -kk '-r1.11' '-r1.12' -u '/v/ossp/cvs/ossp-pkg/pth/pth_string.c,v' 2>/dev/null --- pth_string.c 2004/07/13 10:50:49 1.11 +++ pth_string.c 2004/07/13 10:53:53 1.12 @@ -476,7 +476,7 @@ } static LDOUBLE -abs_val(LDOUBLE value) +math_abs(LDOUBLE value) { LDOUBLE result = value; if (value < 0) @@ -485,7 +485,7 @@ } static LDOUBLE -pow10(int exponent) +math_pow10(int exponent) { LDOUBLE result = 1; while (exponent > 0) { @@ -496,7 +496,7 @@ } static long -round(LDOUBLE value) +math_round(LDOUBLE value) { long intpart; intpart = (long) value; @@ -530,7 +530,7 @@ if (max < 0) max = 6; - ufvalue = abs_val(fvalue); + ufvalue = math_abs(fvalue); if (fvalue < 0) signvalue = '-'; else if (flags & DP_F_PLUS) @@ -547,11 +547,11 @@ /* we "cheat" by converting the fractional part to integer by multiplying by a factor of 10 */ - fracpart = round((pow10(max)) * (ufvalue - intpart)); + fracpart = math_round((math_pow10(max)) * (ufvalue - intpart)); - if (fracpart >= pow10(max)) { + if (fracpart >= math_pow10(max)) { intpart++; - fracpart -= pow10(max); + fracpart -= math_pow10(max); } /* convert integer part */