Fix #78238: BCMath returns "-0"

There is no negative zero in the decimal system, so we must suppress
the sign.

Closes GH-7250.
This commit is contained in:
Christoph M. Becker 2021-07-16 14:49:25 +02:00
parent 8f97f82e35
commit bcb89c75ec
No known key found for this signature in database
GPG key ID: D66C9593118BCCB6
5 changed files with 32 additions and 3 deletions

View file

@ -50,7 +50,7 @@ zend_string
int index, signch;
/* Allocate the string memory. */
signch = num->n_sign != PLUS; /* Number of sign chars. */
signch = num->n_sign != PLUS && !bc_is_zero_for_scale(num, MIN(num->n_scale, scale)); /* Number of sign chars. */
if (scale > 0)
str = zend_string_alloc(num->n_len + scale + signch + 1, 0);
else