summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2001-08-07 17:57:55 +0000
committerfoobar <sniper@php.net>2001-08-07 17:57:55 +0000
commit63b7e5e052efc1e5a2514e1dbe6a5a8b2703f832 (patch)
tree4bee72c14d12cdac18a2a46aac10f71ca18bfd12 /ext
parentecfcae02a676371d50e5815575c74908ff8f48f9 (diff)
downloadphp-git-63b7e5e052efc1e5a2514e1dbe6a5a8b2703f832.tar.gz
Another TSRM fix. Plus killed some compile warnings.
Diffstat (limited to 'ext')
-rw-r--r--ext/gmp/gmp.c45
1 files changed, 23 insertions, 22 deletions
diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c
index 01a94c518e..9d6ae56270 100644
--- a/ext/gmp/gmp.c
+++ b/ext/gmp/gmp.c
@@ -137,9 +137,7 @@ static void gmp_efree(void *ptr, size_t size)
*/
ZEND_MINIT_FUNCTION(gmp)
{
- le_gmp = zend_register_list_destructors_ex(_php_gmpnum_free, NULL,
- GMP_RESOURCE_NAME,
- module_number);
+ le_gmp = zend_register_list_destructors_ex(_php_gmpnum_free, NULL, GMP_RESOURCE_NAME, module_number);
REGISTER_LONG_CONSTANT("GMP_ROUND_ZERO", GMP_ROUND_ZERO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("GMP_ROUND_PLUSINF", GMP_ROUND_PLUSINF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("GMP_ROUND_MINUSINF", GMP_ROUND_MINUSINF, CONST_CS | CONST_PERSISTENT);
@@ -242,8 +240,8 @@ typedef void (*gmp_binary_op2_t)(mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr);
typedef unsigned long (*gmp_binary_ui_op2_t)(mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long);
/* }}} */
-#define gmp_zval_binary_ui_op(r,a,b,o,u) gmp_zval_binary_ui_op_ex(r,a,b,o,u,0)
-#define gmp_zval_binary_ui_op2(r,a,b,o,u) gmp_zval_binary_ui_op2_ex(r,a,b,o,u,0)
+#define gmp_zval_binary_ui_op(r,a,b,o,u) gmp_zval_binary_ui_op_ex(r,a,b,o,u,0 TSRMLS_CC)
+#define gmp_zval_binary_ui_op2(r,a,b,o,u) gmp_zval_binary_ui_op2_ex(r,a,b,o,u,0 TSRMLS_CC)
#define gmp_binary_ui_op(op,uop) _gmp_binary_ui_op(INTERNAL_FUNCTION_PARAM_PASSTHRU, op, uop)
#define gmp_binary_op(op) _gmp_binary_ui_op(INTERNAL_FUNCTION_PARAM_PASSTHRU, op, NULL)
@@ -258,9 +256,10 @@ typedef unsigned long (*gmp_binary_ui_op2_t)(mpz_ptr, mpz_ptr, mpz_srcptr, unsig
Execute GMP binary operation.
May return GMP resource or long if operation allows this
*/
-static inline void gmp_zval_binary_ui_op_ex(zval *return_value, zval **a_arg, zval **b_arg, gmp_binary_op_t gmp_op, gmp_binary_ui_op_t gmp_ui_op, int allow_ui_return) {
+static inline void gmp_zval_binary_ui_op_ex(zval *return_value, zval **a_arg, zval **b_arg, gmp_binary_op_t gmp_op, gmp_binary_ui_op_t gmp_ui_op, int allow_ui_return TSRMLS_DC)
+{
mpz_t *gmpnum_a, *gmpnum_b, *gmpnum_result;
- unsigned long long_result;
+ unsigned long long_result=0;
int use_ui=0;
FETCH_GMP_ZVAL(gmpnum_a, a_arg);
@@ -294,7 +293,8 @@ static inline void gmp_zval_binary_ui_op_ex(zval *return_value, zval **a_arg, zv
Execute GMP binary operation which returns 2 values.
May return GMP resources or longs if operation allows this.
*/
-static inline void gmp_zval_binary_ui_op2_ex(zval *return_value, zval **a_arg, zval **b_arg, gmp_binary_op2_t gmp_op, gmp_binary_ui_op2_t gmp_ui_op, int allow_ui_return) {
+static inline void gmp_zval_binary_ui_op2_ex(zval *return_value, zval **a_arg, zval **b_arg, gmp_binary_op2_t gmp_op, gmp_binary_ui_op2_t gmp_ui_op, int allow_ui_return TSRMLS_DC)
+{
mpz_t *gmpnum_a, *gmpnum_b, *gmpnum_result1, *gmpnum_result2;
zval r;
int use_ui=0;
@@ -351,9 +351,10 @@ static inline void _gmp_binary_ui_op(INTERNAL_FUNCTION_PARAMETERS, gmp_binary_op
/* {{{ gmp_zval_unary_op
*/
-static inline void gmp_zval_unary_op(zval *return_value, zval **a_arg, gmp_unary_op_t gmp_op) {
+static inline void gmp_zval_unary_op(zval *return_value, zval **a_arg, gmp_unary_op_t gmp_op TSRMLS_DC)
+{
mpz_t *gmpnum_a, *gmpnum_result;
-
+
FETCH_GMP_ZVAL(gmpnum_a, a_arg);
INIT_GMP_NUM(gmpnum_result);
@@ -400,7 +401,7 @@ static inline void _gmp_unary_op(INTERNAL_FUNCTION_PARAMETERS, gmp_unary_op_t gm
WRONG_PARAM_COUNT;
}
- gmp_zval_unary_op(return_value,a_arg,gmp_op);
+ gmp_zval_unary_op(return_value,a_arg,gmp_op TSRMLS_CC);
}
/* }}} */
@@ -495,7 +496,7 @@ ZEND_FUNCTION(gmp_intval)
ZEND_FUNCTION(gmp_strval)
{
zval **gmpnumber_arg, **base_arg;
- int base, num_len, argc;
+ int base=10, num_len, argc;
mpz_t * gmpnum;
char *out_string;
@@ -562,7 +563,7 @@ ZEND_FUNCTION(gmp_mul)
ZEND_FUNCTION(gmp_div_qr)
{
zval **a_arg, **b_arg, **round_arg;
- int round, argc;
+ int round=GMP_ROUND_ZERO, argc;
argc = ZEND_NUM_ARGS();
if (argc < 2 || argc > 3 || zend_get_parameters_ex(argc, &a_arg, &b_arg, &round_arg) == FAILURE){
@@ -599,7 +600,7 @@ ZEND_FUNCTION(gmp_div_qr)
ZEND_FUNCTION(gmp_div_r)
{
zval **a_arg, **b_arg, **round_arg;
- int round, argc;
+ int round=GMP_ROUND_ZERO, argc;
argc = ZEND_NUM_ARGS();
if (argc < 2 || argc > 3 || zend_get_parameters_ex(argc, &a_arg, &b_arg, &round_arg) == FAILURE){
@@ -618,13 +619,13 @@ ZEND_FUNCTION(gmp_div_r)
switch(round) {
case GMP_ROUND_ZERO:
- gmp_zval_binary_ui_op_ex(return_value, a_arg, b_arg, mpz_tdiv_r, (gmp_binary_ui_op_t)mpz_tdiv_r_ui,1);
+ gmp_zval_binary_ui_op_ex(return_value, a_arg, b_arg, mpz_tdiv_r, (gmp_binary_ui_op_t)mpz_tdiv_r_ui,1 TSRMLS_CC);
break;
case GMP_ROUND_PLUSINF:
- gmp_zval_binary_ui_op_ex(return_value, a_arg, b_arg, mpz_cdiv_r, (gmp_binary_ui_op_t)mpz_cdiv_r_ui,1);
+ gmp_zval_binary_ui_op_ex(return_value, a_arg, b_arg, mpz_cdiv_r, (gmp_binary_ui_op_t)mpz_cdiv_r_ui,1 TSRMLS_CC);
break;
case GMP_ROUND_MINUSINF:
- gmp_zval_binary_ui_op_ex(return_value, a_arg, b_arg, mpz_fdiv_r, (gmp_binary_ui_op_t)mpz_fdiv_r_ui,1);
+ gmp_zval_binary_ui_op_ex(return_value, a_arg, b_arg, mpz_fdiv_r, (gmp_binary_ui_op_t)mpz_fdiv_r_ui,1 TSRMLS_CC);
break;
}
}
@@ -635,7 +636,7 @@ ZEND_FUNCTION(gmp_div_r)
ZEND_FUNCTION(gmp_div_q)
{
zval **a_arg, **b_arg, **round_arg;
- int round, argc;
+ int round=GMP_ROUND_ZERO, argc;
argc = ZEND_NUM_ARGS();
if (argc < 2 || argc > 3 || zend_get_parameters_ex(argc, &a_arg, &b_arg, &round_arg) == FAILURE){
@@ -677,7 +678,7 @@ ZEND_FUNCTION(gmp_mod)
WRONG_PARAM_COUNT;
}
- gmp_zval_binary_ui_op_ex(return_value,a_arg,b_arg,mpz_mod,(gmp_binary_ui_op_t)mpz_mod_ui,1);
+ gmp_zval_binary_ui_op_ex(return_value,a_arg,b_arg,mpz_mod,(gmp_binary_ui_op_t)mpz_mod_ui,1 TSRMLS_CC);
}
/* }}} */
@@ -839,7 +840,7 @@ ZEND_FUNCTION(gmp_prob_prime)
{
zval **gmpnumber_arg, **reps_arg;
mpz_t *gmpnum_a;
- int argc, reps;
+ int argc, reps=10;
argc = ZEND_NUM_ARGS();
if (argc < 1 || argc > 2 || zend_get_parameters_ex(argc, &gmpnumber_arg, &reps_arg) == FAILURE){
@@ -872,7 +873,7 @@ ZEND_FUNCTION(gmp_gcd)
WRONG_PARAM_COUNT;
}
- gmp_zval_binary_ui_op_ex(return_value,a_arg,b_arg,mpz_gcd,(gmp_binary_ui_op_t)mpz_gcd_ui,1);
+ gmp_zval_binary_ui_op_ex(return_value,a_arg,b_arg,mpz_gcd,(gmp_binary_ui_op_t)mpz_gcd_ui,1 TSRMLS_CC);
}
/* }}} */
@@ -1082,7 +1083,7 @@ ZEND_FUNCTION(gmp_xor)
ZEND_FUNCTION(gmp_setbit)
{
zval **a_arg, **ind_arg, **sc_arg;
- int argc, index, set;
+ int argc, index, set=1;
mpz_t *gmpnum_a;
argc = ZEND_NUM_ARGS();