@@ -206,12 +206,13 @@ static void php_str2num(bc_num *num, char *str TSRMLS_DC)
206
206
PHP_FUNCTION (bcadd )
207
207
{
208
208
char * left , * right ;
209
- long scale_param = 0 ;
209
+ php_int_t scale_param = 0 ;
210
210
bc_num first , second , result ;
211
- int left_len , right_len ;
212
- int scale = BCG (bc_precision ), argc = ZEND_NUM_ARGS ();
211
+ zend_str_size_int left_len , right_len ;
212
+ php_int_t scale = BCG (bc_precision );
213
+ int argc = ZEND_NUM_ARGS ();
213
214
214
- if (zend_parse_parameters (argc TSRMLS_CC , "ss|l " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
215
+ if (zend_parse_parameters (argc TSRMLS_CC , "SS|i " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
215
216
return ;
216
217
}
217
218
@@ -231,7 +232,7 @@ PHP_FUNCTION(bcadd)
231
232
}
232
233
233
234
Z_STRVAL_P (return_value ) = bc_num2str (result );
234
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
235
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
235
236
Z_TYPE_P (return_value ) = IS_STRING ;
236
237
bc_free_num (& first );
237
238
bc_free_num (& second );
@@ -245,12 +246,13 @@ PHP_FUNCTION(bcadd)
245
246
PHP_FUNCTION (bcsub )
246
247
{
247
248
char * left , * right ;
248
- int left_len , right_len ;
249
- long scale_param = 0 ;
249
+ zend_str_size_int left_len , right_len ;
250
+ php_int_t scale_param = 0 ;
250
251
bc_num first , second , result ;
251
- int scale = BCG (bc_precision ), argc = ZEND_NUM_ARGS ();
252
+ php_int_t scale = BCG (bc_precision );
253
+ int argc = ZEND_NUM_ARGS ();
252
254
253
- if (zend_parse_parameters (argc TSRMLS_CC , "ss|l " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
255
+ if (zend_parse_parameters (argc TSRMLS_CC , "SS|i " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
254
256
return ;
255
257
}
256
258
@@ -270,7 +272,7 @@ PHP_FUNCTION(bcsub)
270
272
}
271
273
272
274
Z_STRVAL_P (return_value ) = bc_num2str (result );
273
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
275
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
274
276
Z_TYPE_P (return_value ) = IS_STRING ;
275
277
bc_free_num (& first );
276
278
bc_free_num (& second );
@@ -284,12 +286,13 @@ PHP_FUNCTION(bcsub)
284
286
PHP_FUNCTION (bcmul )
285
287
{
286
288
char * left , * right ;
287
- int left_len , right_len ;
288
- long scale_param = 0 ;
289
+ zend_str_size_int left_len , right_len ;
290
+ php_int_t scale_param = 0 ;
289
291
bc_num first , second , result ;
290
- int scale = BCG (bc_precision ), argc = ZEND_NUM_ARGS ();
292
+ php_int_t scale = BCG (bc_precision );
293
+ int argc = ZEND_NUM_ARGS ();
291
294
292
- if (zend_parse_parameters (argc TSRMLS_CC , "ss|l " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
295
+ if (zend_parse_parameters (argc TSRMLS_CC , "SS|i " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
293
296
return ;
294
297
}
295
298
@@ -309,7 +312,7 @@ PHP_FUNCTION(bcmul)
309
312
}
310
313
311
314
Z_STRVAL_P (return_value ) = bc_num2str (result );
312
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
315
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
313
316
Z_TYPE_P (return_value ) = IS_STRING ;
314
317
bc_free_num (& first );
315
318
bc_free_num (& second );
@@ -323,12 +326,13 @@ PHP_FUNCTION(bcmul)
323
326
PHP_FUNCTION (bcdiv )
324
327
{
325
328
char * left , * right ;
326
- int left_len , right_len ;
327
- long scale_param = 0 ;
329
+ zend_str_size_int left_len , right_len ;
330
+ php_int_t scale_param = 0 ;
328
331
bc_num first , second , result ;
329
- int scale = BCG (bc_precision ), argc = ZEND_NUM_ARGS ();
332
+ php_int_t scale = BCG (bc_precision );
333
+ int argc = ZEND_NUM_ARGS ();
330
334
331
- if (zend_parse_parameters (argc TSRMLS_CC , "ss|l " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
335
+ if (zend_parse_parameters (argc TSRMLS_CC , "SS|i " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
332
336
return ;
333
337
}
334
338
@@ -348,7 +352,7 @@ PHP_FUNCTION(bcdiv)
348
352
result -> n_scale = scale ;
349
353
}
350
354
Z_STRVAL_P (return_value ) = bc_num2str (result );
351
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
355
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
352
356
Z_TYPE_P (return_value ) = IS_STRING ;
353
357
break ;
354
358
case -1 : /* division by zero */
@@ -368,10 +372,10 @@ PHP_FUNCTION(bcdiv)
368
372
PHP_FUNCTION (bcmod )
369
373
{
370
374
char * left , * right ;
371
- int left_len , right_len ;
375
+ zend_str_size_int left_len , right_len ;
372
376
bc_num first , second , result ;
373
377
374
- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "ss " , & left , & left_len , & right , & right_len ) == FAILURE ) {
378
+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "SS " , & left , & left_len , & right , & right_len ) == FAILURE ) {
375
379
return ;
376
380
}
377
381
@@ -384,7 +388,7 @@ PHP_FUNCTION(bcmod)
384
388
switch (bc_modulo (first , second , & result , 0 TSRMLS_CC )) {
385
389
case 0 :
386
390
Z_STRVAL_P (return_value ) = bc_num2str (result );
387
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
391
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
388
392
Z_TYPE_P (return_value ) = IS_STRING ;
389
393
break ;
390
394
case -1 :
@@ -404,12 +408,12 @@ PHP_FUNCTION(bcmod)
404
408
PHP_FUNCTION (bcpowmod )
405
409
{
406
410
char * left , * right , * modulous ;
407
- int left_len , right_len , modulous_len ;
411
+ zend_str_size_int left_len , right_len , modulous_len ;
408
412
bc_num first , second , mod , result ;
409
- long scale = BCG (bc_precision );
413
+ php_int_t scale = BCG (bc_precision );
410
414
int scale_int ;
411
415
412
- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sss|l " , & left , & left_len , & right , & right_len , & modulous , & modulous_len , & scale ) == FAILURE ) {
416
+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "SSS|i " , & left , & left_len , & right , & right_len , & modulous , & modulous_len , & scale ) == FAILURE ) {
413
417
return ;
414
418
}
415
419
@@ -428,7 +432,7 @@ PHP_FUNCTION(bcpowmod)
428
432
result -> n_scale = scale ;
429
433
}
430
434
Z_STRVAL_P (return_value ) = bc_num2str (result );
431
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
435
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
432
436
Z_TYPE_P (return_value ) = IS_STRING ;
433
437
} else {
434
438
RETVAL_FALSE ;
@@ -447,12 +451,13 @@ PHP_FUNCTION(bcpowmod)
447
451
PHP_FUNCTION (bcpow )
448
452
{
449
453
char * left , * right ;
450
- int left_len , right_len ;
451
- long scale_param = 0 ;
454
+ zend_str_size_int left_len , right_len ;
455
+ php_int_t scale_param = 0 ;
452
456
bc_num first , second , result ;
453
- int scale = BCG (bc_precision ), argc = ZEND_NUM_ARGS ();
457
+ php_int_t scale = BCG (bc_precision );
458
+ int argc = ZEND_NUM_ARGS ();
454
459
455
- if (zend_parse_parameters (argc TSRMLS_CC , "ss|l " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
460
+ if (zend_parse_parameters (argc TSRMLS_CC , "SS|i " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
456
461
return ;
457
462
}
458
463
@@ -472,7 +477,7 @@ PHP_FUNCTION(bcpow)
472
477
}
473
478
474
479
Z_STRVAL_P (return_value ) = bc_num2str (result );
475
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
480
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
476
481
Z_TYPE_P (return_value ) = IS_STRING ;
477
482
bc_free_num (& first );
478
483
bc_free_num (& second );
@@ -486,12 +491,13 @@ PHP_FUNCTION(bcpow)
486
491
PHP_FUNCTION (bcsqrt )
487
492
{
488
493
char * left ;
489
- int left_len ;
490
- long scale_param = 0 ;
494
+ zend_str_size_int left_len ;
495
+ php_int_t scale_param = 0 ;
491
496
bc_num result ;
492
- int scale = BCG (bc_precision ), argc = ZEND_NUM_ARGS ();
497
+ php_int_t scale = BCG (bc_precision );
498
+ int argc = ZEND_NUM_ARGS ();
493
499
494
- if (zend_parse_parameters (argc TSRMLS_CC , "s|l " , & left , & left_len , & scale_param ) == FAILURE ) {
500
+ if (zend_parse_parameters (argc TSRMLS_CC , "S|i " , & left , & left_len , & scale_param ) == FAILURE ) {
495
501
return ;
496
502
}
497
503
@@ -507,7 +513,7 @@ PHP_FUNCTION(bcsqrt)
507
513
result -> n_scale = scale ;
508
514
}
509
515
Z_STRVAL_P (return_value ) = bc_num2str (result );
510
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
516
+ Z_STRSIZE_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
511
517
Z_TYPE_P (return_value ) = IS_STRING ;
512
518
} else {
513
519
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Square root of negative number" );
@@ -523,12 +529,13 @@ PHP_FUNCTION(bcsqrt)
523
529
PHP_FUNCTION (bccomp )
524
530
{
525
531
char * left , * right ;
526
- int left_len , right_len ;
527
- long scale_param = 0 ;
532
+ zend_str_size_int left_len , right_len ;
533
+ php_int_t scale_param = 0 ;
528
534
bc_num first , second ;
529
- int scale = BCG (bc_precision ), argc = ZEND_NUM_ARGS ();
535
+ php_int_t scale = BCG (bc_precision );
536
+ int argc = ZEND_NUM_ARGS ();
530
537
531
- if (zend_parse_parameters (argc TSRMLS_CC , "ss|l " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
538
+ if (zend_parse_parameters (argc TSRMLS_CC , "SS|i " , & left , & left_len , & right , & right_len , & scale_param ) == FAILURE ) {
532
539
return ;
533
540
}
534
541
@@ -554,9 +561,9 @@ PHP_FUNCTION(bccomp)
554
561
Sets default scale parameter for all bc math functions */
555
562
PHP_FUNCTION (bcscale )
556
563
{
557
- long new_scale ;
564
+ php_int_t new_scale ;
558
565
559
- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "l " , & new_scale ) == FAILURE ) {
566
+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "i " , & new_scale ) == FAILURE ) {
560
567
return ;
561
568
}
562
569
0 commit comments