@@ -132,9 +132,9 @@ PHP_MINFO_FUNCTION(bcmath)
132
132
133
133
/* {{{ php_str2num
134
134
Convert to bc_num detecting scale */
135
- static zend_result php_str2num (bc_num * num , char * str )
135
+ static zend_result php_str2num (bc_num * num , const zend_string * str )
136
136
{
137
- if (!bc_str2num (num , str , 0 , true)) {
137
+ if (!bc_str2num (num , ZSTR_VAL ( str ), ZSTR_VAL ( str ) + ZSTR_LEN ( str ) , 0 , true)) {
138
138
return FAILURE ;
139
139
}
140
140
@@ -167,12 +167,12 @@ PHP_FUNCTION(bcadd)
167
167
scale = (int ) scale_param ;
168
168
}
169
169
170
- if (php_str2num (& first , ZSTR_VAL ( left ) ) == FAILURE ) {
170
+ if (php_str2num (& first , left ) == FAILURE ) {
171
171
zend_argument_value_error (1 , "is not well-formed" );
172
172
goto cleanup ;
173
173
}
174
174
175
- if (php_str2num (& second , ZSTR_VAL ( right ) ) == FAILURE ) {
175
+ if (php_str2num (& second , right ) == FAILURE ) {
176
176
zend_argument_value_error (2 , "is not well-formed" );
177
177
goto cleanup ;
178
178
}
@@ -214,12 +214,12 @@ PHP_FUNCTION(bcsub)
214
214
scale = (int ) scale_param ;
215
215
}
216
216
217
- if (php_str2num (& first , ZSTR_VAL ( left ) ) == FAILURE ) {
217
+ if (php_str2num (& first , left ) == FAILURE ) {
218
218
zend_argument_value_error (1 , "is not well-formed" );
219
219
goto cleanup ;
220
220
}
221
221
222
- if (php_str2num (& second , ZSTR_VAL ( right ) ) == FAILURE ) {
222
+ if (php_str2num (& second , right ) == FAILURE ) {
223
223
zend_argument_value_error (2 , "is not well-formed" );
224
224
goto cleanup ;
225
225
}
@@ -261,12 +261,12 @@ PHP_FUNCTION(bcmul)
261
261
scale = (int ) scale_param ;
262
262
}
263
263
264
- if (php_str2num (& first , ZSTR_VAL ( left ) ) == FAILURE ) {
264
+ if (php_str2num (& first , left ) == FAILURE ) {
265
265
zend_argument_value_error (1 , "is not well-formed" );
266
266
goto cleanup ;
267
267
}
268
268
269
- if (php_str2num (& second , ZSTR_VAL ( right ) ) == FAILURE ) {
269
+ if (php_str2num (& second , right ) == FAILURE ) {
270
270
zend_argument_value_error (2 , "is not well-formed" );
271
271
goto cleanup ;
272
272
}
@@ -310,12 +310,12 @@ PHP_FUNCTION(bcdiv)
310
310
311
311
bc_init_num (& result );
312
312
313
- if (php_str2num (& first , ZSTR_VAL ( left ) ) == FAILURE ) {
313
+ if (php_str2num (& first , left ) == FAILURE ) {
314
314
zend_argument_value_error (1 , "is not well-formed" );
315
315
goto cleanup ;
316
316
}
317
317
318
- if (php_str2num (& second , ZSTR_VAL ( right ) ) == FAILURE ) {
318
+ if (php_str2num (& second , right ) == FAILURE ) {
319
319
zend_argument_value_error (2 , "is not well-formed" );
320
320
goto cleanup ;
321
321
}
@@ -362,12 +362,12 @@ PHP_FUNCTION(bcmod)
362
362
363
363
bc_init_num (& result );
364
364
365
- if (php_str2num (& first , ZSTR_VAL ( left ) ) == FAILURE ) {
365
+ if (php_str2num (& first , left ) == FAILURE ) {
366
366
zend_argument_value_error (1 , "is not well-formed" );
367
367
goto cleanup ;
368
368
}
369
369
370
- if (php_str2num (& second , ZSTR_VAL ( right ) ) == FAILURE ) {
370
+ if (php_str2num (& second , right ) == FAILURE ) {
371
371
zend_argument_value_error (2 , "is not well-formed" );
372
372
goto cleanup ;
373
373
}
@@ -415,17 +415,17 @@ PHP_FUNCTION(bcpowmod)
415
415
416
416
bc_init_num (& result );
417
417
418
- if (php_str2num (& bc_base , ZSTR_VAL ( base_str ) ) == FAILURE ) {
418
+ if (php_str2num (& bc_base , base_str ) == FAILURE ) {
419
419
zend_argument_value_error (1 , "is not well-formed" );
420
420
goto cleanup ;
421
421
}
422
422
423
- if (php_str2num (& bc_expo , ZSTR_VAL ( exponent_str ) ) == FAILURE ) {
423
+ if (php_str2num (& bc_expo , exponent_str ) == FAILURE ) {
424
424
zend_argument_value_error (2 , "is not well-formed" );
425
425
goto cleanup ;
426
426
}
427
427
428
- if (php_str2num (& bc_modulus , ZSTR_VAL ( modulus_str ) ) == FAILURE ) {
428
+ if (php_str2num (& bc_modulus , modulus_str ) == FAILURE ) {
429
429
zend_argument_value_error (3 , "is not well-formed" );
430
430
goto cleanup ;
431
431
}
@@ -489,12 +489,12 @@ PHP_FUNCTION(bcpow)
489
489
490
490
bc_init_num (& result );
491
491
492
- if (php_str2num (& first , ZSTR_VAL ( base_str ) ) == FAILURE ) {
492
+ if (php_str2num (& first , base_str ) == FAILURE ) {
493
493
zend_argument_value_error (1 , "is not well-formed" );
494
494
goto cleanup ;
495
495
}
496
496
497
- if (php_str2num (& bc_exponent , ZSTR_VAL ( exponent_str ) ) == FAILURE ) {
497
+ if (php_str2num (& bc_exponent , exponent_str ) == FAILURE ) {
498
498
zend_argument_value_error (2 , "is not well-formed" );
499
499
goto cleanup ;
500
500
}
@@ -546,7 +546,7 @@ PHP_FUNCTION(bcsqrt)
546
546
scale = (int ) scale_param ;
547
547
}
548
548
549
- if (php_str2num (& result , ZSTR_VAL ( left ) ) == FAILURE ) {
549
+ if (php_str2num (& result , left ) == FAILURE ) {
550
550
zend_argument_value_error (1 , "is not well-formed" );
551
551
goto cleanup ;
552
552
}
@@ -588,12 +588,12 @@ PHP_FUNCTION(bccomp)
588
588
scale = (int ) scale_param ;
589
589
}
590
590
591
- if (!bc_str2num (& first , ZSTR_VAL (left ), scale , false)) {
591
+ if (!bc_str2num (& first , ZSTR_VAL (left ), ZSTR_VAL ( left ) + ZSTR_LEN ( left ), scale , false)) {
592
592
zend_argument_value_error (1 , "is not well-formed" );
593
593
goto cleanup ;
594
594
}
595
595
596
- if (!bc_str2num (& second , ZSTR_VAL (right ), scale , false)) {
596
+ if (!bc_str2num (& second , ZSTR_VAL (right ), ZSTR_VAL ( right ) + ZSTR_LEN ( right ), scale , false)) {
597
597
zend_argument_value_error (2 , "is not well-formed" );
598
598
goto cleanup ;
599
599
}
@@ -617,7 +617,7 @@ static void bcfloor_or_bcceil(INTERNAL_FUNCTION_PARAMETERS, bool is_floor)
617
617
Z_PARAM_STR (numstr )
618
618
ZEND_PARSE_PARAMETERS_END ();
619
619
620
- if (php_str2num (& num , ZSTR_VAL ( numstr ) ) == FAILURE ) {
620
+ if (php_str2num (& num , numstr ) == FAILURE ) {
621
621
zend_argument_value_error (1 , "is not well-formed" );
622
622
goto cleanup ;
623
623
}
@@ -678,7 +678,7 @@ PHP_FUNCTION(bcround)
678
678
679
679
bc_init_num (& result );
680
680
681
- if (php_str2num (& num , ZSTR_VAL ( numstr ) ) == FAILURE ) {
681
+ if (php_str2num (& num , numstr ) == FAILURE ) {
682
682
zend_argument_value_error (1 , "is not well-formed" );
683
683
goto cleanup ;
684
684
}
0 commit comments