--- embedaddon/php/Zend/zend_float.c 2012/02/21 23:47:52 1.1.1.1 +++ embedaddon/php/Zend/zend_float.c 2012/05/29 12:34:35 1.1.1.2 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_float.c,v 1.1.1.1 2012/02/21 23:47:52 misho Exp $ */ +/* $Id: zend_float.c,v 1.1.1.2 2012/05/29 12:34:35 misho Exp $ */ #include "zend.h" #include "zend_compile.h" @@ -27,16 +27,13 @@ ZEND_API void zend_init_fpu(TSRMLS_D) /* {{{ */ #if XPFPA_HAVE_CW XPFPA_DECLARE - if (!EG(saved_fpu_cw)) { - EG(saved_fpu_cw) = emalloc(sizeof(XPFPA_CW_DATATYPE)); + if (!EG(saved_fpu_cw_ptr)) { + EG(saved_fpu_cw_ptr) = (void*)&EG(saved_fpu_cw); } - XPFPA_STORE_CW(EG(saved_fpu_cw)); + XPFPA_STORE_CW(EG(saved_fpu_cw_ptr)); XPFPA_SWITCH_DOUBLE(); #else - if (EG(saved_fpu_cw)) { - efree(EG(saved_fpu_cw)); - } - EG(saved_fpu_cw) = NULL; + EG(saved_fpu_cw_ptr) = NULL; #endif } /* }}} */ @@ -44,14 +41,11 @@ ZEND_API void zend_init_fpu(TSRMLS_D) /* {{{ */ ZEND_API void zend_shutdown_fpu(TSRMLS_D) /* {{{ */ { #if XPFPA_HAVE_CW - if (EG(saved_fpu_cw)) { - XPFPA_RESTORE_CW(EG(saved_fpu_cw)); + if (EG(saved_fpu_cw_ptr)) { + XPFPA_RESTORE_CW(EG(saved_fpu_cw_ptr)); } #endif - if (EG(saved_fpu_cw)) { - efree(EG(saved_fpu_cw)); - EG(saved_fpu_cw) = NULL; - } + EG(saved_fpu_cw_ptr) = NULL; } /* }}} */