Bug #10458: Bugs #9257 and #10292 located and fixed - see diff
| From: | lawe at tdk dot dk | Date: | Mon, 23 Apr 2001 14:58:00 +0000 |
| Subject: | Bug #10458: Bugs #9257 and #10292 located and fixed - see diff | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-52204@lists.php.net to get a copy of this message | ||
From: lawe@tdk.dk
Operating system: All
PHP version: 4.0.4pl1
PHP Bug Type: InterBase related
Bug description: Bugs #9257 and #10292 located and fixed - see diff
Hi!
See additional comments under #10292.
I have located and corrected the two bugs. Here is the diff between the new ./ext/interbase.c and
the old one (version 1.48):
---------------
$diff interbase.c interbase.orig.c
1731d1730
< val->value.str.val[len] = 0;
1736c1735
< val->value.str.val = php_addslashes(val->value.str.val, len, &len, 1);
---
> val->value.str.val = php_addslashes(val->value.str.val, len, &len, 0);
1754d1752
<
1784,1785c1782,1783
< val->value.str.len = sprintf(string_data, "%Ld.%0*Ld",
< (ISC_INT64) (*((ISC_INT64 *)data) / (int) pow(10.0,
(double) -scale)), -scale,
---
> val->value.str.len = sprintf(string_data, "%Ld.%Ld",
> (ISC_INT64) (*((ISC_INT64 *)data) / (int) pow(10.0,
> (double) -scale)),
$
---------------
It would be very convenient, if a modified php_interbase.dll could be made available soon. The Linux
and FreeBSD users can just make the corrections and compile again.
Ad #9257) The old code didn't cope with the scale parameter to adjust the width of the
fractional part (zero-padded).
Yours sincerely,
Lars Westermann
--
Edit Bug report at: http://bugs.php.net/?id=10458&edit=1