@@ -230,9 +230,7 @@ PHP_FUNCTION(bcadd)
230
230
result -> n_scale = scale ;
231
231
}
232
232
233
- Z_STRVAL_P (return_value ) = bc_num2str (result );
234
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
235
- Z_TYPE_P (return_value ) = IS_STRING ;
233
+ RETVAL_STR (bc_num2str (result ));
236
234
bc_free_num (& first );
237
235
bc_free_num (& second );
238
236
bc_free_num (& result );
@@ -269,9 +267,7 @@ PHP_FUNCTION(bcsub)
269
267
result -> n_scale = scale ;
270
268
}
271
269
272
- Z_STRVAL_P (return_value ) = bc_num2str (result );
273
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
274
- Z_TYPE_P (return_value ) = IS_STRING ;
270
+ RETVAL_STR (bc_num2str (result ));
275
271
bc_free_num (& first );
276
272
bc_free_num (& second );
277
273
bc_free_num (& result );
@@ -308,9 +304,7 @@ PHP_FUNCTION(bcmul)
308
304
result -> n_scale = scale ;
309
305
}
310
306
311
- Z_STRVAL_P (return_value ) = bc_num2str (result );
312
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
313
- Z_TYPE_P (return_value ) = IS_STRING ;
307
+ RETVAL_STR (bc_num2str (result ));
314
308
bc_free_num (& first );
315
309
bc_free_num (& second );
316
310
bc_free_num (& result );
@@ -347,9 +341,7 @@ PHP_FUNCTION(bcdiv)
347
341
if (result -> n_scale > scale ) {
348
342
result -> n_scale = scale ;
349
343
}
350
- Z_STRVAL_P (return_value ) = bc_num2str (result );
351
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
352
- Z_TYPE_P (return_value ) = IS_STRING ;
344
+ RETVAL_STR (bc_num2str (result ));
353
345
break ;
354
346
case -1 : /* division by zero */
355
347
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Division by zero ");
@@ -383,9 +375,7 @@ PHP_FUNCTION(bcmod)
383
375
384
376
switch (bc_modulo (first , second , & result , 0 TSRMLS_CC )) {
385
377
case 0 :
386
- Z_STRVAL_P (return_value ) = bc_num2str (result );
387
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
388
- Z_TYPE_P (return_value ) = IS_STRING ;
378
+ RETVAL_STR (bc_num2str (result ));
389
379
break ;
390
380
case -1 :
391
381
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Division by zero ");
@@ -427,9 +417,7 @@ PHP_FUNCTION(bcpowmod)
427
417
if (result -> n_scale > scale ) {
428
418
result -> n_scale = scale ;
429
419
}
430
- Z_STRVAL_P (return_value ) = bc_num2str (result );
431
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
432
- Z_TYPE_P (return_value ) = IS_STRING ;
420
+ RETVAL_STR (bc_num2str (result ));
433
421
} else {
434
422
RETVAL_FALSE ;
435
423
}
@@ -471,9 +459,7 @@ PHP_FUNCTION(bcpow)
471
459
result -> n_scale = scale ;
472
460
}
473
461
474
- Z_STRVAL_P (return_value ) = bc_num2str (result );
475
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
476
- Z_TYPE_P (return_value ) = IS_STRING ;
462
+ RETVAL_STR (bc_num2str (result ));
477
463
bc_free_num (& first );
478
464
bc_free_num (& second );
479
465
bc_free_num (& result );
@@ -506,9 +492,7 @@ PHP_FUNCTION(bcsqrt)
506
492
if (result -> n_scale > scale ) {
507
493
result -> n_scale = scale ;
508
494
}
509
- Z_STRVAL_P (return_value ) = bc_num2str (result );
510
- Z_STRLEN_P (return_value ) = strlen (Z_STRVAL_P (return_value ));
511
- Z_TYPE_P (return_value ) = IS_STRING ;
495
+ RETVAL_STR (bc_num2str (result ));
512
496
} else {
513
497
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Square root of negative number" );
514
498
}
@@ -541,8 +525,7 @@ PHP_FUNCTION(bccomp)
541
525
542
526
bc_str2num (& first , left , scale TSRMLS_CC );
543
527
bc_str2num (& second , right , scale TSRMLS_CC );
544
- Z_LVAL_P (return_value ) = bc_compare (first , second );
545
- Z_TYPE_P (return_value ) = IS_LONG ;
528
+ RETVAL_LONG (bc_compare (first , second ));
546
529
547
530
bc_free_num (& first );
548
531
bc_free_num (& second );
0 commit comments