]> granicus.if.org Git - php/commitdiff
Fixed PHP-5.2 ZTS compatibility
authorDmitry Stogov <dmitry@zend.com>
Mon, 25 Mar 2013 08:21:58 +0000 (12:21 +0400)
committerDmitry Stogov <dmitry@zend.com>
Mon, 25 Mar 2013 08:21:58 +0000 (12:21 +0400)
ext/opcache/Optimizer/block_pass.c
ext/opcache/Optimizer/pass1_5.c
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c

index d4299c8add63c5906a538d970c5dd9192fb35ced..7fd986ca6de2606ca42ce97c855b21d6063554cb 100644 (file)
@@ -972,7 +972,11 @@ static void zend_optimize_block(zend_code_block *block, zend_op_array *op_array,
                        zval result;
 
                        if (unary_op) {
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+                               unary_op(&result, &ZEND_OP1_LITERAL(opline));
+#else
                                unary_op(&result, &ZEND_OP1_LITERAL(opline) TSRMLS_CC);
+#endif
                                literal_dtor(&ZEND_OP1_LITERAL(opline));
                        } else {
                                /* BOOL */
index 8938e148ce5c69d30ebfe90369f61cd45080065a..dc9e7319a97bac0fb2aa54a6ae264d12168bbdcc 100644 (file)
@@ -203,7 +203,11 @@ if (ZEND_OPTIMIZER_PASS_1 & OPTIMIZATION_LEVEL) {
 
                                er = EG(error_reporting);
                                EG(error_reporting) = 0;
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+                               if (unary_op(&result, &ZEND_OP1_LITERAL(opline)) != SUCCESS) {
+#else
                                if (unary_op(&result, &ZEND_OP1_LITERAL(opline) TSRMLS_CC) != SUCCESS) {
+#endif
                                        EG(error_reporting) = er;
                                        break;
                                }
index 64c5aa8f14b826ba968d1cefe49de5741702e477..e634c130dae5e70b99172c9c0c78939c76e9539a 100644 (file)
@@ -1204,10 +1204,18 @@ static zend_persistent_script *compile_and_cache_file(zend_file_handle *file_han
         } else {
                        *op_array_p = NULL;
                        if (type == ZEND_REQUIRE) {
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+                               zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
+#else
                                zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
+#endif
                                zend_bailout();
                        } else {
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+                               zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
+#else
                                zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
+#endif
                        }
                        return NULL;
        }
@@ -1422,10 +1430,18 @@ static zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int
                        zend_stream_open(file_handle->filename, file_handle TSRMLS_CC) == FAILURE) {
 #endif
                                if (type == ZEND_REQUIRE) {
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+                                       zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
+#else
                                        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
+#endif
                                        zend_bailout();
                                } else {
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+                                       zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
+#else
                                        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
+#endif
                                }
                                return NULL;
                    }
@@ -1542,7 +1558,11 @@ static zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int
                                zend_hash_quick_add(&EG(included_files), persistent_script->full_path, persistent_script->full_path_len + 1, persistent_script->hash_value, &dummy, sizeof(void *), NULL);
                        }
                }
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+               zend_file_handle_dtor(file_handle);
+#else
                zend_file_handle_dtor(file_handle TSRMLS_CC);
+#endif
                from_shared_memory = 1;
        }
 
index 7d5028c4c140b031351d19004d7335af0235600a..75b1561713af2d558c300b60d56e5431e4c48576 100644 (file)
@@ -857,7 +857,7 @@ static void zend_do_delayed_early_binding(zend_op_array *op_array, zend_uint ear
                        }
                        opline_num = op_array->opcodes[opline_num].result.u.opline_num;
                }
-               zend_restore_compiled_filename(orig_compiled_filename);
+               zend_restore_compiled_filename(orig_compiled_filename TSRMLS_CC);
                CG(in_compilation) = orig_in_compilation;
        }
 }