@@ -197,8 +197,7 @@ PHP_FUNCTION(bcadd)
197
197
198
198
if (scale_param_is_null ) {
199
199
scale = BCG (bc_precision );
200
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
201
- zend_argument_value_error (3 , "must be between 0 and %d" , INT_MAX );
200
+ } else if (bcmath_check_scale (scale_param , 3 ) == FAILURE ) {
202
201
RETURN_THROWS ();
203
202
} else {
204
203
scale = (int ) scale_param ;
@@ -247,8 +246,7 @@ PHP_FUNCTION(bcsub)
247
246
248
247
if (scale_param_is_null ) {
249
248
scale = BCG (bc_precision );
250
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
251
- zend_argument_value_error (3 , "must be between 0 and %d" , INT_MAX );
249
+ } else if (bcmath_check_scale (scale_param , 3 ) == FAILURE ) {
252
250
RETURN_THROWS ();
253
251
} else {
254
252
scale = (int ) scale_param ;
@@ -297,8 +295,7 @@ PHP_FUNCTION(bcmul)
297
295
298
296
if (scale_param_is_null ) {
299
297
scale = BCG (bc_precision );
300
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
301
- zend_argument_value_error (3 , "must be between 0 and %d" , INT_MAX );
298
+ } else if (bcmath_check_scale (scale_param , 3 ) == FAILURE ) {
302
299
RETURN_THROWS ();
303
300
} else {
304
301
scale = (int ) scale_param ;
@@ -347,8 +344,7 @@ PHP_FUNCTION(bcdiv)
347
344
348
345
if (scale_param_is_null ) {
349
346
scale = BCG (bc_precision );
350
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
351
- zend_argument_value_error (3 , "must be between 0 and %d" , INT_MAX );
347
+ } else if (bcmath_check_scale (scale_param , 3 ) == FAILURE ) {
352
348
RETURN_THROWS ();
353
349
} else {
354
350
scale = (int ) scale_param ;
@@ -402,8 +398,7 @@ PHP_FUNCTION(bcmod)
402
398
403
399
if (scale_param_is_null ) {
404
400
scale = BCG (bc_precision );
405
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
406
- zend_argument_value_error (3 , "must be between 0 and %d" , INT_MAX );
401
+ } else if (bcmath_check_scale (scale_param , 3 ) == FAILURE ) {
407
402
RETURN_THROWS ();
408
403
} else {
409
404
scale = (int ) scale_param ;
@@ -458,8 +453,7 @@ PHP_FUNCTION(bcpowmod)
458
453
459
454
if (scale_param_is_null ) {
460
455
scale = BCG (bc_precision );
461
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
462
- zend_argument_value_error (4 , "must be between 0 and %d" , INT_MAX );
456
+ } else if (bcmath_check_scale (scale_param , 4 ) == FAILURE ) {
463
457
RETURN_THROWS ();
464
458
} else {
465
459
scale = (int ) scale_param ;
@@ -535,8 +529,7 @@ PHP_FUNCTION(bcpow)
535
529
536
530
if (scale_param_is_null ) {
537
531
scale = BCG (bc_precision );
538
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
539
- zend_argument_value_error (3 , "must be between 0 and %d" , INT_MAX );
532
+ } else if (bcmath_check_scale (scale_param , 3 ) == FAILURE ) {
540
533
RETURN_THROWS ();
541
534
} else {
542
535
scale = (int ) scale_param ;
@@ -597,8 +590,7 @@ PHP_FUNCTION(bcsqrt)
597
590
598
591
if (scale_param_is_null ) {
599
592
scale = BCG (bc_precision );
600
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
601
- zend_argument_value_error (2 , "must be between 0 and %d" , INT_MAX );
593
+ } else if (bcmath_check_scale (scale_param , 2 ) == FAILURE ) {
602
594
RETURN_THROWS ();
603
595
} else {
604
596
scale = (int ) scale_param ;
@@ -642,8 +634,7 @@ PHP_FUNCTION(bccomp)
642
634
643
635
if (scale_param_is_null ) {
644
636
scale = BCG (bc_precision );
645
- } else if (scale_param < 0 || scale_param > INT_MAX ) {
646
- zend_argument_value_error (3 , "must be between 0 and %d" , INT_MAX );
637
+ } else if (bcmath_check_scale (scale_param , 3 ) == FAILURE ) {
647
638
RETURN_THROWS ();
648
639
} else {
649
640
scale = (int ) scale_param ;
@@ -783,8 +774,7 @@ PHP_FUNCTION(bcscale)
783
774
old_scale = BCG (bc_precision );
784
775
785
776
if (!new_scale_is_null ) {
786
- if (new_scale < 0 || new_scale > INT_MAX ) {
787
- zend_argument_value_error (1 , "must be between 0 and %d" , INT_MAX );
777
+ if (bcmath_check_scale (new_scale , 1 ) == FAILURE ) {
788
778
RETURN_THROWS ();
789
779
}
790
780
0 commit comments