#define gmp_unary_opl(op) _gmp_unary_opl(INTERNAL_FUNCTION_PARAM_PASSTHRU, op)
#define gmp_unary_ui_op(op) _gmp_unary_ui_op(INTERNAL_FUNCTION_PARAM_PASSTHRU, op)
- /* {{{ gmp_emalloc
- */
- static void *gmp_emalloc(size_t size)
- {
- return emalloc(size);
- }
- /* }}} */
-
- /* {{{ gmp_erealloc
- */
- static void *gmp_erealloc(void *ptr, size_t old_size, size_t new_size)
- {
- return erealloc(ptr, new_size);
- }
- /* }}} */
-
- /* {{{ gmp_efree
- */
- static void gmp_efree(void *ptr, size_t size)
- {
- efree(ptr);
- }
- /* }}} */
-
-static inline long gmp_get_long(zval *zv) /* {{{ */
+static void gmp_free_object_storage(zend_object *obj TSRMLS_DC) /* {{{ */
{
- if (Z_TYPE_P(zv) == IS_LONG) {
- return Z_LVAL_P(zv);
- } else {
- zval tmp_zv;
- MAKE_COPY_ZVAL(&zv, &tmp_zv);
- convert_to_long(&tmp_zv);
- return Z_LVAL(tmp_zv);
- }
-}
-/* }}} */
+ gmp_object *intern = GET_GMP_OBJECT_FROM_OBJ(obj);
-static void gmp_free_object_storage(gmp_object *intern TSRMLS_DC) /* {{{ */
-{
mpz_clear(intern->num);
-
zend_object_std_dtor(&intern->std TSRMLS_CC);
- efree(intern);
}
/* }}} */