]> granicus.if.org Git - php/commitdiff
more ZTS fixes.
authorfoobar <sniper@php.net>
Tue, 31 Jul 2001 23:47:35 +0000 (23:47 +0000)
committerfoobar <sniper@php.net>
Tue, 31 Jul 2001 23:47:35 +0000 (23:47 +0000)
ext/java/java.c
ext/oci8/oci8.c
ext/openssl/openssl.c
ext/pgsql/pgsql.c
ext/rpc/java/java.c
ext/sybase_ct/php_sybase_ct.c
ext/yp/php_yp.h

index be030e3f80b0852616480e50f6686f7743a8d816..2b5d1548426cfa3846ed4a088f9b6915b5b1eae2 100644 (file)
@@ -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;
index 7ad8eaf90f9634846c0d374b7333522a8300fc90..ca915adf188a3a622947876033b07eae7e5bad64 100644 (file)
@@ -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) {
index d34bca6d991b65a70e520416d9aae0be763aff1b..40f9974163a82cc5bd3fdcea2b7166fa288f6026 100644 (file)
@@ -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;
index 2b3d8b764f8d163589fc97ef601ee8e38b15c01b..1061ef85834a17cc14b4498c2122f3e4775e81bf 100644 (file)
@@ -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:
index be030e3f80b0852616480e50f6686f7743a8d816..2b5d1548426cfa3846ed4a088f9b6915b5b1eae2 100644 (file)
@@ -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;
index ff1df90f4ab8832f0f89126649c7228c07587b8d..ee98b16d1df10e4c730e2d94bc66d0bd2fe92b7a 100644 (file)
@@ -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:
index 7dd2b46cf10654659343334083a21261df1fc763..54b6b60cfe4cb05740ad8ee88183bc1a41f84687 100644 (file)
@@ -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