summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2001-07-31 23:47:35 +0000
committerfoobar <sniper@php.net>2001-07-31 23:47:35 +0000
commit474da88b4cc99f7e009edca9ddc9e90aef1494ec (patch)
treefc53931b2e5cce0049207a4d5acf27e38918e62b
parente7ea61ad98bdc509aee5a5ff784735b782e30ed7 (diff)
downloadphp-git-474da88b4cc99f7e009edca9ddc9e90aef1494ec.tar.gz
more ZTS fixes.
-rw-r--r--ext/java/java.c127
-rw-r--r--ext/oci8/oci8.c106
-rw-r--r--ext/openssl/openssl.c32
-rw-r--r--ext/pgsql/pgsql.c2
-rw-r--r--ext/rpc/java/java.c127
-rw-r--r--ext/sybase_ct/php_sybase_ct.c11
-rw-r--r--ext/yp/php_yp.h2
7 files changed, 168 insertions, 239 deletions
diff --git a/ext/java/java.c b/ext/java/java.c
index be030e3f80..2b5d154842 100644
--- a/ext/java/java.c
+++ b/ext/java/java.c
@@ -79,31 +79,21 @@ static char *javalib = 0;
static int iniUpdated = 0;
static void *dl_handle = 0;
-typedef struct {
+ZEND_BEGIN_MODULE_GLOBALS(java)
JavaVM *jvm;
JNIEnv *jenv;
jobject php_reflect;
jclass reflect_class;
-} php_java_globals;
+ZEND_END_MODULE_GLOBALS(java)
#ifdef ZTS
-#define JG(v) (java_globals->v)
-#define JG_FETCH() php_java_globals *java_globals = ts_resource(java_globals_id)
-#define JG_D php_java_globals *java_globals
-#define JG_DC , JG_D
-#define JG_C java_globals
-#define JG_CC , JG_C
-int java_globals_id;
+# define JG(v) TSRMG(java_globals_id, zend_java_globals *, v)
#else
-#define JG(v) (java_globals.v)
-#define JG_FETCH()
-#define JG_D
-#define JG_DC
-#define JG_C
-#define JG_CC
-php_java_globals java_globals;
+# define JG(v) (java_globals.v)
#endif
+ZEND_DECLARE_MODULE_GLOBALS(java)
+
static zend_class_entry java_class_entry;
static PHP_INI_MH(OnIniUpdate)
@@ -114,20 +104,15 @@ static PHP_INI_MH(OnIniUpdate)
}
PHP_INI_BEGIN()
- PHP_INI_ENTRY1("java.class.path",
- NULL, PHP_INI_ALL, OnIniUpdate, &classpath)
+ PHP_INI_ENTRY1("java.class.path", NULL, PHP_INI_ALL, OnIniUpdate, &classpath)
#ifndef JNI_11
- PHP_INI_ENTRY1("java.home",
- NULL, PHP_INI_ALL, OnIniUpdate, &javahome)
- PHP_INI_ENTRY1("java.library.path",
- NULL, PHP_INI_ALL, OnIniUpdate, &libpath)
+ PHP_INI_ENTRY1("java.home", NULL, PHP_INI_ALL, OnIniUpdate, &javahome)
+ PHP_INI_ENTRY1("java.library.path", NULL, PHP_INI_ALL, OnIniUpdate, &libpath)
#endif
#ifdef JAVALIB
- PHP_INI_ENTRY1("java.library",
- JAVALIB, PHP_INI_ALL, OnIniUpdate, &javalib)
+ PHP_INI_ENTRY1("java.library", JAVALIB, PHP_INI_ALL, OnIniUpdate, &javalib)
#else
- PHP_INI_ENTRY1("java.library",
- NULL, PHP_INI_ALL, OnIniUpdate, &javalib)
+ PHP_INI_ENTRY1("java.library", NULL, PHP_INI_ALL, OnIniUpdate, &javalib)
#endif
PHP_INI_END()
@@ -136,9 +121,8 @@ PHP_INI_END()
/*
* Destroy a Java Virtual Machine.
*/
-void jvm_destroy() {
- JG_FETCH();
-
+void jvm_destroy(TSRMLS_D)
+{
if (JG(php_reflect)) (*JG(jenv))->DeleteGlobalRef(JG(jenv), JG(php_reflect));
if (JG(jvm)) {
(*JG(jvm))->DetachCurrentThread(JG(jvm));
@@ -158,7 +142,8 @@ void jvm_destroy() {
*/
#ifdef JNI_12
-static void addJVMOption(JavaVMInitArgs *vm_args, char *name, char *value) {
+static void addJVMOption(JavaVMInitArgs *vm_args, char *name, char *value)
+{
char *option = (char*) malloc(strlen(name) + strlen(value) + 1);
strcpy(option, name);
strcat(option, value);
@@ -166,7 +151,8 @@ static void addJVMOption(JavaVMInitArgs *vm_args, char *name, char *value) {
}
#endif
-static int jvm_create() {
+static int jvm_create(TSRMLS_D)
+{
int rc;
jobject local_php_reflect;
jthrowable error;
@@ -185,8 +171,6 @@ static int jvm_create() {
#endif
#endif
- JG_FETCH();
-
iniUpdated=0;
if (javalib) {
@@ -276,7 +260,7 @@ static int jvm_create() {
errAsUTF = (*jenv)->GetStringUTFChars(jenv, errString, &isCopy);
php_error(E_ERROR, "%s", errAsUTF);
if (isCopy) (*jenv)->ReleaseStringUTFChars(jenv, error, errAsUTF);
- jvm_destroy();
+ jvm_destroy(TSRMLS_C);
return -1;
}
@@ -287,7 +271,8 @@ static int jvm_create() {
/***************************************************************************/
-static jobject _java_makeObject(pval* arg JG_DC) {
+static jobject _java_makeObject(pval* arg TSRMLS_DC)
+{
JNIEnv *jenv = JG(jenv);
jobject result;
pval **handle;
@@ -348,19 +333,19 @@ static jobject _java_makeObject(pval* arg JG_DC) {
/* Iterate through hash */
zend_hash_internal_pointer_reset(arg->value.ht);
while(zend_hash_get_current_data(arg->value.ht, (void**)&value) == SUCCESS) {
- jval = _java_makeObject(*value JG_CC);
+ jval = _java_makeObject(*value TSRMLS_CC);
switch (zend_hash_get_current_key(arg->value.ht, &string_key, &num_key, 0)) {
case HASH_KEY_IS_STRING:
key.type = IS_STRING;
key.value.str.val = string_key;
key.value.str.len = strlen(string_key);
- jkey = _java_makeObject(&key JG_CC);
+ jkey = _java_makeObject(&key TSRMLS_CC);
break;
case HASH_KEY_IS_LONG:
key.type = IS_LONG;
key.value.lval = num_key;
- jkey = _java_makeObject(&key JG_CC);
+ jkey = _java_makeObject(&key TSRMLS_CC);
break;
default: /* HASH_KEY_NON_EXISTANT */
jkey = 0;
@@ -382,7 +367,8 @@ static jobject _java_makeObject(pval* arg JG_DC) {
/***************************************************************************/
-static jobjectArray _java_makeArray(int argc, pval** argv JG_DC) {
+static jobjectArray _java_makeArray(int argc, pval** argv TSRMLS_DC)
+{
JNIEnv *jenv = JG(jenv);
jclass objectClass = (*jenv)->FindClass(jenv, "java/lang/Object");
@@ -391,14 +377,16 @@ static jobjectArray _java_makeArray(int argc, pval** argv JG_DC) {
int i;
for (i=0; i<argc; i++) {
- arg = _java_makeObject(argv[i] JG_CC);
+ arg = _java_makeObject(argv[i] TSRMLS_CC);
(*jenv)->SetObjectArrayElement(jenv, result, i, arg);
if (argv[i]->type != IS_OBJECT) (*jenv)->DeleteLocalRef(jenv, arg);
}
return result;
}
-static int checkError(pval *value) {
+
+static int checkError(pval *value)
+{
if (value->type == IS_EXCEPTION) {
php_error(E_WARNING, "%s", value->value.str.val);
efree(value->value.str.val);
@@ -415,8 +403,7 @@ static int checkError(pval *value) {
* Invoke a method on an object. If method name is "java", create a new
* object instead.
*/
-void java_call_function_handler
- (INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
+void java_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
{
JNIEnv *jenv;
@@ -428,12 +415,10 @@ void java_call_function_handler
jlong result = 0;
pval **arguments = (pval **) emalloc(sizeof(pval *)*arg_count);
- JG_FETCH();
-
getParametersArray(ht, arg_count, arguments);
- if (iniUpdated && JG(jenv)) jvm_destroy();
- if (!JG(jenv)) jvm_create();
+ if (iniUpdated && JG(jenv)) jvm_destroy(TSRMLS_C);
+ if (!JG(jenv)) jvm_create(TSRMLS_C);
if (!JG(jenv)) return;
jenv = JG(jenv);
@@ -455,7 +440,7 @@ void java_call_function_handler
className=(*jenv)->NewStringUTF(jenv, arguments[0]->value.str.val);
(*jenv)->CallVoidMethod(jenv, JG(php_reflect), co,
- className, _java_makeArray(arg_count-1, arguments+1 JG_CC), result);
+ className, _java_makeArray(arg_count-1, arguments+1 TSRMLS_CC), result);
(*jenv)->DeleteLocalRef(jenv, className);
@@ -476,7 +461,7 @@ void java_call_function_handler
result = (jlong)(long)return_value;
(*jenv)->CallVoidMethod(jenv, JG(php_reflect), invoke,
- obj, method, _java_makeArray(arg_count, arguments JG_CC), result);
+ obj, method, _java_makeArray(arg_count, arguments TSRMLS_CC), result);
(*jenv)->DeleteLocalRef(jenv, method);
@@ -495,8 +480,6 @@ PHP_FUNCTION(java_last_exception_get)
jlong result = 0;
jmethodID lastEx;
- JG_FETCH();
-
if (ZEND_NUM_ARGS()!=0) WRONG_PARAM_COUNT;
result = (jlong)(long)return_value;
@@ -514,8 +497,6 @@ PHP_FUNCTION(java_last_exception_clear)
jlong result = 0;
jmethodID clearEx;
- JG_FETCH();
-
if (ZEND_NUM_ARGS()!=0) WRONG_PARAM_COUNT;
result = (jlong)(long)return_value;
@@ -529,7 +510,7 @@ PHP_FUNCTION(java_last_exception_clear)
/***************************************************************************/
static pval _java_getset_property
- (zend_property_reference *property_reference, jobjectArray value)
+ (zend_property_reference *property_reference, jobjectArray value TSRMLS_DC)
{
pval presult;
jlong result = 0;
@@ -543,7 +524,6 @@ static pval _java_getset_property
jstring propName;
JNIEnv *jenv;
- JG_FETCH();
jenv = JG(jenv);
propName = (*jenv)->NewStringUTF(jenv, property->element.value.str.val);
@@ -571,22 +551,20 @@ static pval _java_getset_property
return presult;
}
-pval java_get_property_handler
- (zend_property_reference *property_reference)
+
+pval java_get_property_handler(zend_property_reference *property_reference TSRMLS_DC)
{
- pval presult = _java_getset_property(property_reference, 0);
+ pval presult = _java_getset_property(property_reference, 0 TSRMLS_CC);
checkError(&presult);
return presult;
}
-int java_set_property_handler
- (zend_property_reference *property_reference, pval *value)
+int java_set_property_handler(zend_property_reference *property_reference, pval *value TSRMLS_DC)
{
pval presult;
- JG_FETCH();
- presult = _java_getset_property
- (property_reference, _java_makeArray(1, &value JG_CC));
+
+ presult = _java_getset_property(property_reference, _java_makeArray(1, &value TSRMLS_CC) TSRMLS_CC);
return checkError(&presult) ? FAILURE : SUCCESS;
}
@@ -596,16 +574,13 @@ static void _php_java_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
void *jobject = (void *)rsrc->ptr;
- JG_FETCH();
if (JG(jenv)) (*JG(jenv))->DeleteGlobalRef(JG(jenv), jobject);
}
-#ifdef ZTS
-static void alloc_java_globals_ctor(php_java_globals *java_globals TSRMLS_DC)
+static void alloc_java_globals_ctor(zend_java_globals *java_globals TSRMLS_DC)
{
- memset(java_globals, 0, sizeof(php_java_globals));
+ memset(java_globals, 0, sizeof(zend_java_globals));
}
-#endif
PHP_MINIT_FUNCTION(java)
{
@@ -623,26 +598,23 @@ PHP_MINIT_FUNCTION(java)
if (!classpath) classpath = getenv("CLASSPATH");
if (!libpath) {
- TSRMLS_FETCH();
libpath=PG(extension_dir);
}
-#ifdef ZTS
- ts_allocate_id(&java_globals_id, sizeof(php_java_globals),
- (ts_allocate_ctor)alloc_java_globals_ctor, NULL);
-#endif
+ ZEND_INIT_MODULE_GLOBALS(java, alloc_java_globals_ctor, NULL);
return SUCCESS;
}
-PHP_MSHUTDOWN_FUNCTION(java) {
- JG_FETCH();
+PHP_MSHUTDOWN_FUNCTION(java)
+{
UNREGISTER_INI_ENTRIES();
- if (JG(jvm)) jvm_destroy();
+ if (JG(jvm)) jvm_destroy(TSRMLS_C);
return SUCCESS;
}
+
function_entry java_functions[] = {
PHP_FE(java_last_exception_get, NULL)
PHP_FE(java_last_exception_clear, NULL)
@@ -782,10 +754,9 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setException
}
JNIEXPORT void JNICALL Java_net_php_reflect_setEnv
- (JNIEnv *newJenv, jclass self)
+ (JNIEnv *newJenv, jclass self TSRMLS_DC)
{
jobject local_php_reflect;
- JG_FETCH();
iniUpdated=0;
JG(jenv)=newJenv;
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c
index 7ad8eaf90f..ca915adf18 100644
--- a/ext/oci8/oci8.c
+++ b/ext/oci8/oci8.c
@@ -130,7 +130,7 @@ static ub4 oci_error(OCIError *err_p, char *what, sword status);
static int oci_ping(oci_server *server);
static void oci_debug(const char *format, ...);
-static void _oci_conn_list_dtor(oci_connection *connection);
+static void _oci_conn_list_dtor(oci_connection *connection TSRMLS_DC);
static void _oci_stmt_list_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC);
static void _oci_descriptor_list_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC);
#ifdef WITH_COLLECTIONS
@@ -140,23 +140,23 @@ static void _oci_server_list_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC);
static void _oci_session_list_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC);
static void php_oci_free_conn_list(zend_rsrc_list_entry *rsrc TSRMLS_DC);
-static void _oci_column_hash_dtor(void *data);
+static void _oci_column_hash_dtor(void *data TSRMLS_DC);
static void _oci_define_hash_dtor(void *data);
static void _oci_bind_hash_dtor(void *data);
-static oci_connection *oci_get_conn(zval **);
-static oci_statement *oci_get_stmt(zval **);
-static oci_descriptor *oci_get_desc(int);
+static oci_connection *oci_get_conn(zval ** TSRMLS_DC);
+static oci_statement *oci_get_stmt(zval ** TSRMLS_DC);
+static oci_descriptor *oci_get_desc(int TSRMLS_DC);
#ifdef WITH_COLLECTIONS
/* Questionable name. Very close to oci_get_col */
-static oci_collection *oci_get_coll(int);
+static oci_collection *oci_get_coll(int TSRMLS_DC);
#endif
static oci_out_column *oci_get_col(oci_statement *, int, zval **);
-static int _oci_make_zval(zval *, oci_statement *, oci_out_column *, char *, int mode);
+static int _oci_make_zval(zval *, oci_statement *, oci_out_column *, char *, int mode TSRMLS_DC);
static oci_statement *oci_parse(oci_connection *, char *, int);
static int oci_execute(oci_statement *, char *, ub4 mode);
-static int oci_fetch(oci_statement *, ub4, char *);
+static int oci_fetch(oci_statement *, ub4, char * TSRMLS_DC);
static int oci_loadlob(oci_connection *, oci_descriptor *, char **, ub4 *length);
static int oci_setprefetch(oci_statement *statement, int size);
@@ -232,26 +232,26 @@ PHP_FUNCTION(ocicolltrim);
#endif
#define OCI_GET_STMT(statement,value) \
- statement = oci_get_stmt(value); \
+ statement = oci_get_stmt(value TSRMLS_CC); \
if (statement == NULL) { \
RETURN_FALSE; \
}
#define OCI_GET_CONN(connection,value) \
- connection = oci_get_conn(value); \
+ connection = oci_get_conn(value TSRMLS_CC); \
if (connection == NULL) { \
RETURN_FALSE; \
}
#define OCI_GET_DESC(descriptor,index) \
- descriptor = oci_get_desc(index); \
+ descriptor = oci_get_desc(index TSRMLS_CC); \
if (descriptor == NULL) { \
RETURN_FALSE; \
}
#ifdef WITH_COLLECTIONS
#define OCI_GET_COLL(collection,index) \
- collection = oci_get_coll(index); \
+ collection = oci_get_coll(index TSRMLS_CC); \
if (collection == NULL) { \
RETURN_FALSE; \
}
@@ -658,7 +658,7 @@ _oci_bind_post_exec(void *data TSRMLS_DC)
/* {{{ _oci_column_hash_dtor() */
static void
-_oci_column_hash_dtor(void *data)
+_oci_column_hash_dtor(void *data TSRMLS_DC)
{
oci_out_column *column = (oci_out_column *) data;
@@ -732,7 +732,7 @@ _oci_stmt_list_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
/* {{{ _oci_conn_list_dtor() */
static void
-_oci_conn_list_dtor(oci_connection *connection)
+_oci_conn_list_dtor(oci_connection *connection TSRMLS_DC)
{
/*
as the connection is "only" a in memory service context we do not disconnect from oracle.
@@ -775,7 +775,7 @@ _oci_conn_list_dtor(oci_connection *connection)
static void php_oci_free_conn_list(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
oci_connection *conn = (oci_connection *)rsrc->ptr;
- _oci_conn_list_dtor(conn);
+ _oci_conn_list_dtor(conn TSRMLS_CC);
}
/* }}} */
@@ -959,7 +959,7 @@ static void oci_debug(const char *format, ...)
/* }}} */
/* {{{ oci_get_conn() */
-static oci_connection *oci_get_conn(zval **conn)
+static oci_connection *oci_get_conn(zval **conn TSRMLS_DC)
{
oci_connection *connection;
@@ -975,7 +975,7 @@ static oci_connection *oci_get_conn(zval **conn)
/* }}} */
/* {{{ oci_get_stmt() */
-static oci_statement *oci_get_stmt(zval **stmt)
+static oci_statement *oci_get_stmt(zval **stmt TSRMLS_DC)
{
oci_statement *statement;
@@ -991,7 +991,7 @@ static oci_statement *oci_get_stmt(zval **stmt)
/* }}} */
/* {{{ oci_get_desc() */
-static oci_descriptor *oci_get_desc(int ind)
+static oci_descriptor *oci_get_desc(int ind TSRMLS_DC)
{
oci_descriptor *descriptor;
int actual_resource_type;
@@ -1096,7 +1096,7 @@ oci_new_desc(int type,oci_connection *connection)
/* {{{ _oci_get_ocicoll() */
static int
-_oci_get_ocicoll(zval *id,oci_collection **collection)
+_oci_get_ocicoll(zval *id,oci_collection **collection TSRMLS_DC)
{
zval **coll;
@@ -1104,7 +1104,7 @@ _oci_get_ocicoll(zval *id,oci_collection **collection)
php_error(E_WARNING, "cannot find collection");
return 0;
}
- if ((*collection = oci_get_coll((*coll)->value.lval)) == NULL) {
+ if ((*collection = oci_get_coll((*coll)->value.lval TSRMLS_CC)) == NULL) {
php_error(E_WARNING, "collection not found");
return 0;
}
@@ -1120,7 +1120,7 @@ _oci_get_ocicoll(zval *id,oci_collection **collection)
/* {{{ _oci_get_ocidesc() */
static int
-_oci_get_ocidesc(zval *id,oci_descriptor **descriptor)
+_oci_get_ocidesc(zval *id,oci_descriptor **descriptor TSRMLS_DC)
{
zval **desc;
@@ -1129,7 +1129,7 @@ _oci_get_ocidesc(zval *id,oci_descriptor **descriptor)
return 0;
}
- if ((*descriptor = oci_get_desc((*desc)->value.lval)) == NULL) {
+ if ((*descriptor = oci_get_desc((*desc)->value.lval TSRMLS_CC)) == NULL) {
php_error(E_WARNING, "descriptor not found");
return 0;
}
@@ -1141,7 +1141,7 @@ _oci_get_ocidesc(zval *id,oci_descriptor **descriptor)
/* {{{ _oci_make_zval() */
static int
-_oci_make_zval(zval *value,oci_statement *statement,oci_out_column *column, char *func, int mode)
+_oci_make_zval(zval *value,oci_statement *statement,oci_out_column *column, char *func, int mode TSRMLS_DC)
{
oci_descriptor *descr;
ub4 loblen;
@@ -1165,7 +1165,7 @@ _oci_make_zval(zval *value,oci_statement *statement,oci_out_column *column, char
if ((column->data_type != SQLT_RDD) && (mode & OCI_RETURN_LOBS)) {
/* OCI_RETURN_LOBS means that we want the content of the LOB back instead of the locator */
- descr = oci_get_desc(column->descid);
+ descr = oci_get_desc(column->descid TSRMLS_CC);
if (! descr) {
php_error(E_WARNING, "unable to find my descriptor %d",column->data);
return -1;
@@ -1626,7 +1626,7 @@ _oci_column_pre_fetch(void *data TSRMLS_DC)
static int
-oci_fetch(oci_statement *statement, ub4 nrows, char *func)
+oci_fetch(oci_statement *statement, ub4 nrows, char *func TSRMLS_DC)
{
int i;
oci_out_column *column;
@@ -1706,7 +1706,7 @@ oci_fetch(oci_statement *statement, ub4 nrows, char *func)
}
zval_dtor(column->define->zval);
- _oci_make_zval(column->define->zval,statement,column,"OCIFetch",0);
+ _oci_make_zval(column->define->zval,statement,column,"OCIFetch",0 TSRMLS_CC);
}
return 1;
@@ -2531,7 +2531,7 @@ static void oci_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent,int exclu
if (connection->id) {
zend_list_delete(connection->id);
} else {
- _oci_conn_list_dtor(connection);
+ _oci_conn_list_dtor(connection TSRMLS_CC);
}
RETURN_FALSE;
@@ -2647,7 +2647,7 @@ PHP_FUNCTION(ocibindbyname)
php_error(E_WARNING,"Variable must be allocated using OCINewCollection()");
RETURN_FALSE;
}
- if ((inx = _oci_get_ocicoll(*var,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(*var,&coll TSRMLS_CC)) == 0) {
php_error(E_WARNING,"Variable must be allocated using OCINewCollection()");
RETURN_FALSE;
}
@@ -2669,7 +2669,7 @@ PHP_FUNCTION(ocibindbyname)
RETURN_FALSE;
}
- if ((inx = _oci_get_ocidesc(*var,&descr)) == 0) {
+ if ((inx = _oci_get_ocidesc(*var,&descr TSRMLS_CC)) == 0) {
php_error(E_WARNING,"Variable must be allocated using OCINewDescriptor()");
RETURN_FALSE;
}
@@ -2791,7 +2791,7 @@ PHP_FUNCTION(ocifreedesc)
oci_descriptor *descriptor;
if ((id = getThis()) != 0) {
- inx = _oci_get_ocidesc(id,&descriptor);
+ inx = _oci_get_ocidesc(id,&descriptor TSRMLS_CC);
if (inx) {
oci_debug("OCIfreedesc: descr=%d",inx);
zend_list_delete(inx);
@@ -2820,7 +2820,7 @@ PHP_FUNCTION(ocisavelob)
ub4 offset;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocidesc(id,&descr)) == 0) {
+ if ((inx = _oci_get_ocidesc(id,&descr TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -2912,7 +2912,7 @@ PHP_FUNCTION(ocisavelobfile)
ub4 loblen;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocidesc(id,&descr)) == 0) {
+ if ((inx = _oci_get_ocidesc(id,&descr TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -2989,7 +2989,7 @@ PHP_FUNCTION(ociloadlob)
ub4 loblen;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocidesc(id,&descr)) == 0) {
+ if ((inx = _oci_get_ocidesc(id,&descr TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -3021,7 +3021,7 @@ PHP_FUNCTION(ociwritelobtofile)
int coffs;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocidesc(id,&descr)) == 0) {
+ if ((inx = _oci_get_ocidesc(id,&descr TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -3204,7 +3204,7 @@ PHP_FUNCTION(ociwritetemporarylob)
RETURN_FALSE;
}
- if (_oci_get_ocidesc(id,&descr) == 0) {
+ if (_oci_get_ocidesc(id,&descr TSRMLS_CC) == 0) {
RETURN_FALSE;
}
@@ -3295,7 +3295,7 @@ PHP_FUNCTION(ocicloselob)
oci_descriptor *descriptor;
if ((id = getThis()) != 0) {
- inx = _oci_get_ocidesc(id,&descriptor);
+ inx = _oci_get_ocidesc(id,&descriptor TSRMLS_CC);
if (inx) {
mylob = (OCILobLocator *) descriptor->ocidescr;
@@ -3705,7 +3705,7 @@ PHP_FUNCTION(ocicancel)
OCI_GET_STMT(statement,stmt);
- if (oci_fetch(statement, 0, "OCICancel")) {
+ if (oci_fetch(statement, 0, "OCICancel" TSRMLS_CC)) {
RETURN_TRUE;
} else {
RETURN_FALSE;
@@ -3729,7 +3729,7 @@ PHP_FUNCTION(ocifetch)
OCI_GET_STMT(statement,stmt);
- if (oci_fetch(statement, nrows, "OCIFetch")) {
+ if (oci_fetch(statement, nrows, "OCIFetch" TSRMLS_CC)) {
RETURN_TRUE;
} else {
RETURN_FALSE;
@@ -3764,7 +3764,7 @@ PHP_FUNCTION(ocifetchinto)
OCI_GET_STMT(statement,stmt);
- if (!oci_fetch(statement, nrows, "OCIFetchInto")) {
+ if (!oci_fetch(statement, nrows, "OCIFetchInto" TSRMLS_CC)) {
RETURN_FALSE;
}
@@ -3786,7 +3786,7 @@ PHP_FUNCTION(ocifetchinto)
used = 0;
MAKE_STD_ZVAL(element);
- _oci_make_zval(element,statement,column,"OCIFetchInto",mode);
+ _oci_make_zval(element,statement,column,"OCIFetchInto",mode TSRMLS_CC);
if ((mode & OCI_NUM) || (! (mode & OCI_ASSOC))) {
zend_hash_index_update((*array)->value.ht,i,(void *)&element,sizeof(zval*),NULL);
@@ -3853,11 +3853,11 @@ PHP_FUNCTION(ocifetchstatement)
efree(namebuf);
}
- while (oci_fetch(statement, nrows, "OCIFetchStatement")) {
+ while (oci_fetch(statement, nrows, "OCIFetchStatement" TSRMLS_CC)) {
for (i = 0; i < statement->ncolumns; i++) {
MAKE_STD_ZVAL(element);
- _oci_make_zval(element,statement,columns[ i ], "OCIFetchStatement",OCI_RETURN_LOBS);
+ _oci_make_zval(element,statement,columns[ i ], "OCIFetchStatement",OCI_RETURN_LOBS TSRMLS_CC);
zend_hash_index_update((*(outarrs[ i ]))->value.ht, rows, (void *)&element, sizeof(zval*), NULL);
}
@@ -4137,7 +4137,7 @@ PHP_FUNCTION(ociresult)
RETURN_FALSE;
}
- _oci_make_zval(return_value,statement,outcol, "OCIResult",0);
+ _oci_make_zval(return_value,statement,outcol, "OCIResult",0 TSRMLS_CC);
}
/* }}} */
@@ -4276,7 +4276,7 @@ PHP_FUNCTION(ocirowcount)
#ifdef WITH_COLLECTIONS
/* {{{ oci_get_coll() */
-static oci_collection *oci_get_coll(int ind)
+static oci_collection *oci_get_coll(int ind TSRMLS_DC)
{
oci_collection *collection;
int actual_resource_type;
@@ -4302,7 +4302,7 @@ PHP_FUNCTION(ocifreecollection)
oci_connection *connection;
if ((id = getThis()) != 0) {
- inx = _oci_get_ocicoll(id,&coll);
+ inx = _oci_get_ocicoll(id,&coll TSRMLS_CC);
if (inx) {
/*
* Do we need to free the object?
@@ -4344,7 +4344,7 @@ PHP_FUNCTION(ocicollappend)
double ndx;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocicoll(id,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(id,&coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -4451,7 +4451,7 @@ PHP_FUNCTION(ocicollgetelem)
double dnum;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocicoll(id,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(id,&coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
if (zend_get_parameters_ex(1, &arg) == FAILURE) {
@@ -4528,7 +4528,7 @@ PHP_FUNCTION(ocicollassign)
int inx;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocicoll(id,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(id,&coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -4536,7 +4536,7 @@ PHP_FUNCTION(ocicollassign)
WRONG_PARAM_COUNT;
}
- if ((inx = _oci_get_ocicoll(*from,&from_coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(*from,&from_coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -4572,7 +4572,7 @@ PHP_FUNCTION(ocicollassignelem)
double dnum;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocicoll(id,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(id,&coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
@@ -4683,7 +4683,7 @@ PHP_FUNCTION(ocicollsize)
int inx;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocicoll(id,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(id,&coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
connection = coll->conn;
@@ -4710,7 +4710,7 @@ PHP_FUNCTION(ocicollmax)
int inx;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocicoll(id,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(id,&coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
sz = OCICollMax(OCI(pEnv),coll->coll);
@@ -4730,7 +4730,7 @@ PHP_FUNCTION(ocicolltrim)
int inx;
if ((id = getThis()) != 0) {
- if ((inx = _oci_get_ocicoll(id,&coll)) == 0) {
+ if ((inx = _oci_get_ocicoll(id,&coll TSRMLS_CC)) == 0) {
RETURN_FALSE;
}
if (zend_get_parameters_ex(1, &arg) == FAILURE) {
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index d34bca6d99..40f9974163 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -103,7 +103,7 @@ static int le_key;
static void _php_x509_free(zend_rsrc_list_entry *rsrc TSRMLS_DC);
static int le_x509;
-static X509 * php_openssl_x509_from_zval(zval ** val, int makeresource, long * resourceval);
+static X509 * php_openssl_x509_from_zval(zval ** val, int makeresource, long * resourceval TSRMLS_DC);
static EVP_PKEY * php_openssl_evp_from_zval(zval ** val, int public_key, char * passphrase, int makeresource, long * resourceval TSRMLS_DC);
static X509_STORE * setup_verify(zval * calist TSRMLS_DC);
static STACK_OF(X509) * load_all_certs_from_file(char *certfile);
@@ -190,7 +190,7 @@ PHP_MSHUTDOWN_FUNCTION(openssl)
If you supply makeresource, the result will be registered as an x509 resource and
it's value returned in makeresource.
*/
-static X509 * php_openssl_x509_from_zval(zval ** val, int makeresource, long * resourceval)
+static X509 * php_openssl_x509_from_zval(zval ** val, int makeresource, long * resourceval TSRMLS_DC)
{
X509 *cert = NULL;
@@ -327,7 +327,7 @@ static EVP_PKEY * php_openssl_evp_from_zval(zval ** val, int public_key, char *
/* it's an X509 file/cert of some kind, and we need to extract the data from that */
if (public_key) {
- cert = php_openssl_x509_from_zval(val, 0, &cert_res);
+ cert = php_openssl_x509_from_zval(val, 0, &cert_res TSRMLS_CC);
free_cert = (cert_res == -1);
/* actual extraction done later */
}
@@ -402,7 +402,7 @@ PHP_FUNCTION(openssl_private_encrypt)
convert_to_string_ex(data);
- pkey = php_openssl_evp_from_zval(key, 0, "", 0, &keyresource);
+ pkey = php_openssl_evp_from_zval(key, 0, "", 0, &keyresource TSRMLS_CC);
if (pkey == NULL) {
zend_error(E_WARNING, "%s(): key param is not a valid private key", get_active_function_name(TSRMLS_C) TSRMLS_CC);
@@ -473,7 +473,7 @@ PHP_FUNCTION(openssl_private_decrypt)
RETVAL_FALSE;
- pkey = php_openssl_evp_from_zval(key, 0, "", 0, &keyresource);
+ pkey = php_openssl_evp_from_zval(key, 0, "", 0, &keyresource TSRMLS_CC);
if (pkey == NULL) {
zend_error(E_WARNING, "%s(): key param is not a valid private key", get_active_function_name(TSRMLS_C));
RETURN_FALSE;
@@ -731,7 +731,7 @@ static void add_assoc_asn1_string(zval * val, char * key, ASN1_STRING * str)
add_assoc_stringl(val, key, str->data, str->length, 1);
}
-static time_t asn1_time_to_time_t(ASN1_UTCTIME * timestr)
+static time_t asn1_time_to_time_t(ASN1_UTCTIME * timestr TSRMLS_DC)
{
/*
This is how the time string is formatted:
@@ -822,7 +822,7 @@ PHP_FUNCTION(openssl_x509_parse)
if (!Z_LVAL_PP(zshort))
useshortnames = 0;
}
- cert = php_openssl_x509_from_zval(zcert, 0, &certresource);
+ cert = php_openssl_x509_from_zval(zcert, 0, &certresource TSRMLS_CC);
if (cert == NULL)
RETURN_FALSE;
@@ -840,8 +840,8 @@ PHP_FUNCTION(openssl_x509_parse)
add_assoc_asn1_string(return_value, "validFrom", X509_get_notBefore(cert));
add_assoc_asn1_string(return_value, "validTo", X509_get_notAfter(cert));
- add_assoc_long(return_value, "validFrom_time_t", asn1_time_to_time_t(X509_get_notBefore(cert)));
- add_assoc_long(return_value, "validTo_time_t", asn1_time_to_time_t(X509_get_notAfter(cert)));
+ add_assoc_long(return_value, "validFrom_time_t", asn1_time_to_time_t(X509_get_notBefore(cert) TSRMLS_CC));
+ add_assoc_long(return_value, "validTo_time_t", asn1_time_to_time_t(X509_get_notAfter(cert) TSRMLS_CC));
tmpstr = X509_alias_get0(cert, NULL);
if (tmpstr)
@@ -996,7 +996,7 @@ PHP_FUNCTION(openssl_x509_checkpurpose)
if (cainfo == NULL)
goto clean_exit;
- cert = php_openssl_x509_from_zval(zcert, 0, &certresource);
+ cert = php_openssl_x509_from_zval(zcert, 0, &certresource TSRMLS_CC);
if (cert == NULL)
goto clean_exit;
@@ -1063,7 +1063,7 @@ PHP_FUNCTION(openssl_x509_read)
}
return_value->type = IS_RESOURCE;
- x509 = php_openssl_x509_from_zval(cert, 1, &(return_value->value.lval));
+ x509 = php_openssl_x509_from_zval(cert, 1, &(return_value->value.lval) TSRMLS_CC);
if (x509 == NULL) {
zend_error(E_WARNING, "%s() supplied parameter cannot be coerced into an X509 certificate!", get_active_function_name(TSRMLS_C));
@@ -1223,7 +1223,7 @@ PHP_FUNCTION(openssl_pkcs7_verify)
convert_to_long_ex(zflags);
flags = Z_LVAL_PP(zflags);
- store = setup_verify(cainfo ? *cainfo : NULL);
+ store = setup_verify(cainfo ? *cainfo : NULL TSRMLS_CC);
if (!store)
goto clean_exit;
@@ -1328,7 +1328,7 @@ PHP_FUNCTION(openssl_pkcs7_encrypt)
while(zend_hash_get_current_data_ex(HASH_OF(*zrecipcerts), (void**)&zcertval, &hpos) == SUCCESS) {
long certresource;
- cert = php_openssl_x509_from_zval(zcertval, 0, &certresource);
+ cert = php_openssl_x509_from_zval(zcertval, 0, &certresource TSRMLS_CC);
if (cert == NULL)
goto clean_exit;
@@ -1348,7 +1348,7 @@ PHP_FUNCTION(openssl_pkcs7_encrypt)
/* a single certificate */
long certresource;
- cert = php_openssl_x509_from_zval(zrecipcerts, 0, &certresource);
+ cert = php_openssl_x509_from_zval(zrecipcerts, 0, &certresource TSRMLS_CC);
if (cert == NULL)
goto clean_exit;
@@ -1461,7 +1461,7 @@ PHP_FUNCTION(openssl_pkcs7_sign)
goto clean_exit;
}
- cert = php_openssl_x509_from_zval(zcert, 0, &certresource);
+ cert = php_openssl_x509_from_zval(zcert, 0, &certresource TSRMLS_CC);
if (cert == NULL) {
zend_error(E_WARNING, "%s(): error getting cert", get_active_function_name(TSRMLS_C));
goto clean_exit;
@@ -1539,7 +1539,7 @@ PHP_FUNCTION(openssl_pkcs7_decrypt)
RETVAL_FALSE;
- cert = php_openssl_x509_from_zval(recipcert, 0, &certresval);
+ cert = php_openssl_x509_from_zval(recipcert, 0, &certresval TSRMLS_CC);
if (cert == NULL) {
zend_error(E_WARNING, "%s(): unable to coerce param 3 to x509 cert", get_active_function_name(TSRMLS_C));
goto clean_exit;
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 2b3d8b764f..1061ef8583 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -1140,7 +1140,6 @@ static void php_pgsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
int i, num_fields, pgsql_row;
char *element, *field_name;
uint element_len;
- TSRMLS_FETCH();
switch (ZEND_NUM_ARGS()) {
case 1:
@@ -1808,7 +1807,6 @@ PHP_FUNCTION(pg_loimport)
int id = -1;
PGconn *pgsql;
Oid oid;
- TSRMLS_FETCH();
switch (ZEND_NUM_ARGS()) {
case 1:
diff --git a/ext/rpc/java/java.c b/ext/rpc/java/java.c
index be030e3f80..2b5d154842 100644
--- a/ext/rpc/java/java.c
+++ b/ext/rpc/java/java.c
@@ -79,31 +79,21 @@ static char *javalib = 0;
static int iniUpdated = 0;
static void *dl_handle = 0;
-typedef struct {
+ZEND_BEGIN_MODULE_GLOBALS(java)
JavaVM *jvm;
JNIEnv *jenv;
jobject php_reflect;
jclass reflect_class;
-} php_java_globals;
+ZEND_END_MODULE_GLOBALS(java)
#ifdef ZTS
-#define JG(v) (java_globals->v)
-#define JG_FETCH() php_java_globals *java_globals = ts_resource(java_globals_id)
-#define JG_D php_java_globals *java_globals
-#define JG_DC , JG_D
-#define JG_C java_globals
-#define JG_CC , JG_C
-int java_globals_id;
+# define JG(v) TSRMG(java_globals_id, zend_java_globals *, v)
#else
-#define JG(v) (java_globals.v)
-#define JG_FETCH()
-#define JG_D
-#define JG_DC
-#define JG_C
-#define JG_CC
-php_java_globals java_globals;
+# define JG(v) (java_globals.v)
#endif
+ZEND_DECLARE_MODULE_GLOBALS(java)
+
static zend_class_entry java_class_entry;
static PHP_INI_MH(OnIniUpdate)
@@ -114,20 +104,15 @@ static PHP_INI_MH(OnIniUpdate)
}
PHP_INI_BEGIN()
- PHP_INI_ENTRY1("java.class.path",
- NULL, PHP_INI_ALL, OnIniUpdate, &classpath)
+ PHP_INI_ENTRY1("java.class.path", NULL, PHP_INI_ALL, OnIniUpdate, &classpath)
#ifndef JNI_11
- PHP_INI_ENTRY1("java.home",
- NULL, PHP_INI_ALL, OnIniUpdate, &javahome)
- PHP_INI_ENTRY1("java.library.path",
- NULL, PHP_INI_ALL, OnIniUpdate, &libpath)
+ PHP_INI_ENTRY1("java.home", NULL, PHP_INI_ALL, OnIniUpdate, &javahome)
+ PHP_INI_ENTRY1("java.library.path", NULL, PHP_INI_ALL, OnIniUpdate, &libpath)
#endif
#ifdef JAVALIB
- PHP_INI_ENTRY1("java.library",
- JAVALIB, PHP_INI_ALL, OnIniUpdate, &javalib)
+ PHP_INI_ENTRY1("java.library", JAVALIB, PHP_INI_ALL, OnIniUpdate, &javalib)
#else
- PHP_INI_ENTRY1("java.library",
- NULL, PHP_INI_ALL, OnIniUpdate, &javalib)
+ PHP_INI_ENTRY1("java.library", NULL, PHP_INI_ALL, OnIniUpdate, &javalib)
#endif
PHP_INI_END()
@@ -136,9 +121,8 @@ PHP_INI_END()
/*
* Destroy a Java Virtual Machine.
*/
-void jvm_destroy() {
- JG_FETCH();
-
+void jvm_destroy(TSRMLS_D)
+{
if (JG(php_reflect)) (*JG(jenv))->DeleteGlobalRef(JG(jenv), JG(php_reflect));
if (JG(jvm)) {
(*JG(jvm))->DetachCurrentThread(JG(jvm));
@@ -158,7 +142,8 @@ void jvm_destroy() {
*/
#ifdef JNI_12
-static void addJVMOption(JavaVMInitArgs *vm_args, char *name, char *value) {
+static void addJVMOption(JavaVMInitArgs *vm_args, char *name, char *value)
+{
char *option = (char*) malloc(strlen(name) + strlen(value) + 1);
strcpy(option, name);
strcat(option, value);
@@ -166,7 +151,8 @@ static void addJVMOption(JavaVMInitArgs *vm_args, char *name, char *value) {
}
#endif
-static int jvm_create() {
+static int jvm_create(TSRMLS_D)
+{
int rc;
jobject local_php_reflect;
jthrowable error;
@@ -185,8 +171,6 @@ static int jvm_create() {
#endif
#endif
- JG_FETCH();
-
iniUpdated=0;
if (javalib) {
@@ -276,7 +260,7 @@ static int jvm_create() {
errAsUTF = (*jenv)->GetStringUTFChars(jenv, errString, &isCopy);
php_error(E_ERROR, "%s", errAsUTF);
if (isCopy) (*jenv)->ReleaseStringUTFChars(jenv, error, errAsUTF);
- jvm_destroy();
+ jvm_destroy(TSRMLS_C);
return -1;
}
@@ -287,7 +271,8 @@ static int jvm_create() {
/***************************************************************************/
-static jobject _java_makeObject(pval* arg JG_DC) {
+static jobject _java_makeObject(pval* arg TSRMLS_DC)
+{
JNIEnv *jenv = JG(jenv);
jobject result;
pval **handle;
@@ -348,19 +333,19 @@ static jobject _java_makeObject(pval* arg JG_DC) {
/* Iterate through hash */
zend_hash_internal_pointer_reset(arg->value.ht);
while(zend_hash_get_current_data(arg->value.ht, (void**)&value) == SUCCESS) {
- jval = _java_makeObject(*value JG_CC);
+ jval = _java_makeObject(*value TSRMLS_CC);
switch (zend_hash_get_current_key(arg->value.ht, &string_key, &num_key, 0)) {
case HASH_KEY_IS_STRING:
key.type = IS_STRING;
key.value.str.val = string_key;
key.value.str.len = strlen(string_key);
- jkey = _java_makeObject(&key JG_CC);
+ jkey = _java_makeObject(&key TSRMLS_CC);
break;
case HASH_KEY_IS_LONG:
key.type = IS_LONG;
key.value.lval = num_key;
- jkey = _java_makeObject(&key JG_CC);
+ jkey = _java_makeObject(&key TSRMLS_CC);
break;
default: /* HASH_KEY_NON_EXISTANT */
jkey = 0;
@@ -382,7 +367,8 @@ static jobject _java_makeObject(pval* arg JG_DC) {
/***************************************************************************/
-static jobjectArray _java_makeArray(int argc, pval** argv JG_DC) {
+static jobjectArray _java_makeArray(int argc, pval** argv TSRMLS_DC)
+{
JNIEnv *jenv = JG(jenv);
jclass objectClass = (*jenv)->FindClass(jenv, "java/lang/Object");
@@ -391,14 +377,16 @@ static jobjectArray _java_makeArray(int argc, pval** argv JG_DC) {
int i;
for (i=0; i<argc; i++) {
- arg = _java_makeObject(argv[i] JG_CC);
+ arg = _java_makeObject(argv[i] TSRMLS_CC);
(*jenv)->SetObjectArrayElement(jenv, result, i, arg);
if (argv[i]->type != IS_OBJECT) (*jenv)->DeleteLocalRef(jenv, arg);
}
return result;
}
-static int checkError(pval *value) {
+
+static int checkError(pval *value)
+{
if (value->type == IS_EXCEPTION) {
php_error(E_WARNING, "%s", value->value.str.val);
efree(value->value.str.val);
@@ -415,8 +403,7 @@ static int checkError(pval *value) {
* Invoke a method on an object. If method name is "java", create a new
* object instead.
*/
-void java_call_function_handler
- (INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
+void java_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
{
JNIEnv *jenv;
@@ -428,12 +415,10 @@ void java_call_function_handler
jlong result = 0;
pval **arguments = (pval **) emalloc(sizeof(pval *)*arg_count);
- JG_FETCH();
-
getParametersArray(ht, arg_count, arguments);
- if (iniUpdated && JG(jenv)) jvm_destroy();
- if (!JG(jenv)) jvm_create();
+ if (iniUpdated && JG(jenv)) jvm_destroy(TSRMLS_C);
+ if (!JG(jenv)) jvm_create(TSRMLS_C);
if (!JG(jenv)) return;
jenv = JG(jenv);
@@ -455,7 +440,7 @@ void java_call_function_handler
className=(*jenv)->NewStringUTF(jenv, arguments[0]->value.str.val);
(*jenv)->CallVoidMethod(jenv, JG(php_reflect), co,
- className, _java_makeArray(arg_count-1, arguments+1 JG_CC), result);
+ className, _java_makeArray(arg_count-1, arguments+1 TSRMLS_CC), result);
(*jenv)->DeleteLocalRef(jenv, className);
@@ -476,7 +461,7 @@ void java_call_function_handler
result = (jlong)(long)return_value;
(*jenv)->CallVoidMethod(jenv, JG(php_reflect), invoke,
- obj, method, _java_makeArray(arg_count, arguments JG_CC), result);
+ obj, method, _java_makeArray(arg_count, arguments TSRMLS_CC), result);
(*jenv)->DeleteLocalRef(jenv, method);
@@ -495,8 +480,6 @@ PHP_FUNCTION(java_last_exception_get)
jlong result = 0;
jmethodID lastEx;
- JG_FETCH();
-
if (ZEND_NUM_ARGS()!=0) WRONG_PARAM_COUNT;
result = (jlong)(long)return_value;
@@ -514,8 +497,6 @@ PHP_FUNCTION(java_last_exception_clear)
jlong result = 0;
jmethodID clearEx;
- JG_FETCH();
-
if (ZEND_NUM_ARGS()!=0) WRONG_PARAM_COUNT;
result = (jlong)(long)return_value;
@@ -529,7 +510,7 @@ PHP_FUNCTION(java_last_exception_clear)
/***************************************************************************/
static pval _java_getset_property
- (zend_property_reference *property_reference, jobjectArray value)
+ (zend_property_reference *property_reference, jobjectArray value TSRMLS_DC)
{
pval presult;
jlong result = 0;
@@ -543,7 +524,6 @@ static pval _java_getset_property
jstring propName;
JNIEnv *jenv;
- JG_FETCH();
jenv = JG(jenv);
propName = (*jenv)->NewStringUTF(jenv, property->element.value.str.val);
@@ -571,22 +551,20 @@ static pval _java_getset_property
return presult;
}
-pval java_get_property_handler
- (zend_property_reference *property_reference)
+
+pval java_get_property_handler(zend_property_reference *property_reference TSRMLS_DC)
{
- pval presult = _java_getset_property(property_reference, 0);
+ pval presult = _java_getset_property(property_reference, 0 TSRMLS_CC);
checkError(&presult);
return presult;
}
-int java_set_property_handler
- (zend_property_reference *property_reference, pval *value)
+int java_set_property_handler(zend_property_reference *property_reference, pval *value TSRMLS_DC)
{
pval presult;
- JG_FETCH();
- presult = _java_getset_property
- (property_reference, _java_makeArray(1, &value JG_CC));
+
+ presult = _java_getset_property(property_reference, _java_makeArray(1, &value TSRMLS_CC) TSRMLS_CC);
return checkError(&presult) ? FAILURE : SUCCESS;
}
@@ -596,16 +574,13 @@ static void _php_java_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
void *jobject = (void *)rsrc->ptr;
- JG_FETCH();
if (JG(jenv)) (*JG(jenv))->DeleteGlobalRef(JG(jenv), jobject);
}
-#ifdef ZTS
-static void alloc_java_globals_ctor(php_java_globals *java_globals TSRMLS_DC)
+static void alloc_java_globals_ctor(zend_java_globals *java_globals TSRMLS_DC)
{
- memset(java_globals, 0, sizeof(php_java_globals));
+ memset(java_globals, 0, sizeof(zend_java_globals));
}
-#endif
PHP_MINIT_FUNCTION(java)
{
@@ -623,26 +598,23 @@ PHP_MINIT_FUNCTION(java)
if (!classpath) classpath = getenv("CLASSPATH");
if (!libpath) {
- TSRMLS_FETCH();
libpath=PG(extension_dir);
}
-#ifdef ZTS
- ts_allocate_id(&java_globals_id, sizeof(php_java_globals),
- (ts_allocate_ctor)alloc_java_globals_ctor, NULL);
-#endif
+ ZEND_INIT_MODULE_GLOBALS(java, alloc_java_globals_ctor, NULL);
return SUCCESS;
}
-PHP_MSHUTDOWN_FUNCTION(java) {
- JG_FETCH();
+PHP_MSHUTDOWN_FUNCTION(java)
+{
UNREGISTER_INI_ENTRIES();
- if (JG(jvm)) jvm_destroy();
+ if (JG(jvm)) jvm_destroy(TSRMLS_C);
return SUCCESS;
}
+
function_entry java_functions[] = {
PHP_FE(java_last_exception_get, NULL)
PHP_FE(java_last_exception_clear, NULL)
@@ -782,10 +754,9 @@ JNIEXPORT void JNICALL Java_net_php_reflect_setException
}
JNIEXPORT void JNICALL Java_net_php_reflect_setEnv
- (JNIEnv *newJenv, jclass self)
+ (JNIEnv *newJenv, jclass self TSRMLS_DC)
{
jobject local_php_reflect;
- JG_FETCH();
iniUpdated=0;
JG(jenv)=newJenv;
diff --git a/ext/sybase_ct/php_sybase_ct.c b/ext/sybase_ct/php_sybase_ct.c
index ff1df90f4a..ee98b16d1d 100644
--- a/ext/sybase_ct/php_sybase_ct.c
+++ b/ext/sybase_ct/php_sybase_ct.c
@@ -748,7 +748,6 @@ static int exec_cmd(sybase_link *sybase_ptr, char *cmdbuf)
CS_RETCODE retcode;
CS_INT restype;
int failure=0;
- TSRMLS_FETCH();
/* Fail if we already marked this connection dead. */
@@ -877,7 +876,6 @@ static sybase_result * php_sybase_fetch_result_set (sybase_link *sybase_ptr)
CS_DATAFMT *datafmt;
int i, j, retcode;
int blocks_initialized=1;
- TSRMLS_FETCH();
/* The following is more or less the equivalent of mysql_store_result().
* fetch all rows from the server into the row buffer, thus:
@@ -1297,7 +1295,6 @@ PHP_FUNCTION(sybase_num_fields)
{
pval *sybase_result_index;
sybase_result *result;
- TSRMLS_FETCH();
if (ZEND_NUM_ARGS()!=1 || getParameters(ht, 1, &sybase_result_index)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -1319,7 +1316,6 @@ PHP_FUNCTION(sybase_fetch_row)
int i;
sybase_result *result;
pval *field_content;
- TSRMLS_FETCH();
if (ZEND_NUM_ARGS()!=1 || getParameters(ht, 1, &sybase_result_index)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -1350,8 +1346,6 @@ static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS)
sybase_result *result;
int i;
pval *tmp;
- TSRMLS_FETCH();
- TSRMLS_FETCH();
if (ZEND_NUM_ARGS()!=1 || getParameters(ht, 1, &sybase_result_index)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -1411,7 +1405,6 @@ PHP_FUNCTION(sybase_data_seek)
{
pval *sybase_result_index,*offset;
sybase_result *result;
- TSRMLS_FETCH();
if (ZEND_NUM_ARGS()!=2 || getParameters(ht, 2, &sybase_result_index, &offset)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -1482,7 +1475,6 @@ PHP_FUNCTION(sybase_fetch_field)
pval *sybase_result_index,*offset;
int field_offset;
sybase_result *result;
- TSRMLS_FETCH();
switch (ZEND_NUM_ARGS()) {
case 1:
@@ -1536,7 +1528,6 @@ PHP_FUNCTION(sybase_field_seek)
pval *sybase_result_index,*offset;
int field_offset;
sybase_result *result;
- TSRMLS_FETCH();
if (ZEND_NUM_ARGS()!=2 || getParameters(ht, 2, &sybase_result_index, &offset)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -1565,7 +1556,6 @@ PHP_FUNCTION(sybase_result)
pval *row, *field, *sybase_result_index;
int field_offset=0;
sybase_result *result;
- TSRMLS_FETCH();
if (ZEND_NUM_ARGS()!=3 || getParameters(ht, 3, &sybase_result_index, &row, &field)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -1619,7 +1609,6 @@ PHP_FUNCTION(sybase_affected_rows)
pval *sybase_link_index;
sybase_link *sybase_ptr;
int id;
- TSRMLS_FETCH();
switch(ZEND_NUM_ARGS()) {
case 0:
diff --git a/ext/yp/php_yp.h b/ext/yp/php_yp.h
index 7dd2b46cf1..54b6b60cfe 100644
--- a/ext/yp/php_yp.h
+++ b/ext/yp/php_yp.h
@@ -53,7 +53,7 @@ typedef struct {
} php_yp_globals;
#ifdef ZTS
-#define YG(v) TSRMG(yp_globals_id, php_yp_globals *, v)
+#define YP(v) TSRMG(yp_globals_id, php_yp_globals *, v)
#else
#define YP(v) (yp_globals.v)
#endif