summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/SAPI.c65
-rw-r--r--main/SAPI.h56
-rw-r--r--main/fopen_wrappers.c23
-rw-r--r--main/fopen_wrappers.h2
-rw-r--r--main/main.c96
-rw-r--r--main/output.c59
-rw-r--r--main/php_content_types.c3
-rw-r--r--main/php_globals.h12
-rw-r--r--main/php_ini.c2
-rw-r--r--main/php_main.h10
-rw-r--r--main/php_output.h8
-rw-r--r--main/php_ticks.c10
-rw-r--r--main/php_ticks.h4
-rw-r--r--main/php_variables.c24
-rw-r--r--main/php_variables.h10
-rw-r--r--main/rfc1867.c58
-rw-r--r--main/rfc1867.h2
-rw-r--r--main/safe_mode.c6
18 files changed, 204 insertions, 246 deletions
diff --git a/main/SAPI.c b/main/SAPI.c
index 466e673de3..618f16f140 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -50,7 +50,7 @@ sapi_globals_struct sapi_globals;
static void sapi_globals_ctor(sapi_globals_struct *sapi_globals TSRMLS_DC)
{
- memset(sapi_globals,0,sizeof(*sapi_globals));
+ memset(sapi_globals, 0, sizeof(*sapi_globals));
}
/* True globals (no need for thread safety) */
@@ -101,10 +101,10 @@ SAPI_API void sapi_free_header(sapi_header_struct *sapi_header)
}
-SAPI_API void sapi_handle_post(void *arg SLS_DC)
+SAPI_API void sapi_handle_post(void *arg TSRMLS_DC)
{
if (SG(request_info).post_entry && SG(request_info).content_type_dup) {
- SG(request_info).post_entry->post_handler(SG(request_info).content_type_dup, arg SLS_CC);
+ SG(request_info).post_entry->post_handler(SG(request_info).content_type_dup, arg TSRMLS_CC);
if (SG(request_info).post_data) {
efree(SG(request_info).post_data);
SG(request_info).post_data = NULL;
@@ -114,15 +114,14 @@ SAPI_API void sapi_handle_post(void *arg SLS_DC)
}
}
-static void sapi_read_post_data(SLS_D)
+static void sapi_read_post_data(TSRMLS_D)
{
sapi_post_entry *post_entry;
uint content_type_length = strlen(SG(request_info).content_type);
char *content_type = estrndup(SG(request_info).content_type, content_type_length);
char *p;
char oldchar=0;
- void (*post_reader_func)(SLS_D);
- PLS_FETCH();
+ void (*post_reader_func)(TSRMLS_D);
/* dedicated implementation for increased performance:
@@ -158,10 +157,10 @@ static void sapi_read_post_data(SLS_D)
if (oldchar) {
*(p-1) = oldchar;
}
- post_reader_func(SLS_C);
+ post_reader_func(TSRMLS_C);
SG(request_info).content_type_dup = content_type;
if(PG(always_populate_raw_post_data) && sapi_module.default_post_reader) {
- sapi_module.default_post_reader(SLS_C);
+ sapi_module.default_post_reader(TSRMLS_C);
}
}
@@ -179,7 +178,7 @@ SAPI_POST_READER_FUNC(sapi_read_standard_form_data)
SG(request_info).post_data = emalloc(allocated_bytes);
for (;;) {
- read_bytes = sapi_module.read_post(SG(request_info).post_data+SG(read_post_bytes), SAPI_POST_BLOCK_SIZE SLS_CC);
+ read_bytes = sapi_module.read_post(SG(request_info).post_data+SG(read_post_bytes), SAPI_POST_BLOCK_SIZE TSRMLS_CC);
if (read_bytes<=0) {
break;
}
@@ -201,7 +200,7 @@ SAPI_POST_READER_FUNC(sapi_read_standard_form_data)
}
-SAPI_API char *sapi_get_default_content_type(SLS_D)
+SAPI_API char *sapi_get_default_content_type(TSRMLS_D)
{
char *mimetype, *charset, *content_type;
@@ -219,9 +218,9 @@ SAPI_API char *sapi_get_default_content_type(SLS_D)
}
-SAPI_API void sapi_get_default_content_type_header(sapi_header_struct *default_header SLS_DC)
+SAPI_API void sapi_get_default_content_type_header(sapi_header_struct *default_header TSRMLS_DC)
{
- char *default_content_type = sapi_get_default_content_type(SLS_C);
+ char *default_content_type = sapi_get_default_content_type(TSRMLS_C);
int default_content_type_len = strlen(default_content_type);
default_header->header_len = (sizeof("Content-type: ")-1) + default_content_type_len;
@@ -243,7 +242,7 @@ SAPI_API void sapi_get_default_content_type_header(sapi_header_struct *default_h
* unchanged, 0 is returned.
*
*/
-SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len SLS_DC)
+SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len TSRMLS_DC)
{
char *charset, *newtype;
size_t newlen;
@@ -267,7 +266,7 @@ SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len SLS_DC)
/*
* Called from php_request_startup() for every request.
*/
-SAPI_API void sapi_activate(SLS_D)
+SAPI_API void sapi_activate(TSRMLS_D)
{
zend_llist_init(&SG(sapi_headers).headers, sizeof(sapi_header_struct), (void (*)(void *)) sapi_free_header, 0);
SG(sapi_headers).send_default_content_type = 1;
@@ -300,20 +299,20 @@ SAPI_API void sapi_activate(SLS_D)
sapi_module.sapi_error(E_WARNING, "No content-type in POST request");
SG(request_info).content_type_dup = NULL;
} else {
- sapi_read_post_data(SLS_C);
+ sapi_read_post_data(TSRMLS_C);
}
} else {
SG(request_info).content_type_dup = NULL;
}
- SG(request_info).cookie_data = sapi_module.read_cookies(SLS_C);
+ SG(request_info).cookie_data = sapi_module.read_cookies(TSRMLS_C);
if (sapi_module.activate) {
- sapi_module.activate(SLS_C);
+ sapi_module.activate(TSRMLS_C);
}
}
}
-SAPI_API void sapi_deactivate(SLS_D)
+SAPI_API void sapi_deactivate(TSRMLS_D)
{
zend_llist_destroy(&SG(sapi_headers).headers);
if (SG(request_info).post_data) {
@@ -332,15 +331,15 @@ SAPI_API void sapi_deactivate(SLS_D)
efree(SG(request_info).current_user);
}
if (sapi_module.deactivate) {
- sapi_module.deactivate(SLS_C);
+ sapi_module.deactivate(TSRMLS_C);
}
if (SG(rfc1867_uploaded_files)) {
- destroy_uploaded_files_hash(SLS_C);
+ destroy_uploaded_files_hash(TSRMLS_C);
}
}
-SAPI_API void sapi_initialize_empty_request(SLS_D)
+SAPI_API void sapi_initialize_empty_request(TSRMLS_D)
{
SG(server_context) = NULL;
SG(request_info).request_method = NULL;
@@ -372,7 +371,7 @@ SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bo
int retval, free_header = 0;
sapi_header_struct sapi_header;
char *colon_offset;
- SLS_FETCH();
+ TSRMLS_FETCH();
if (SG(headers_sent) && !SG(request_info).no_headers) {
char *output_start_filename = php_get_output_start_filename();
@@ -421,7 +420,7 @@ SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bo
ptr++;
}
mimetype = estrdup(ptr);
- newlen = sapi_apply_default_charset(&mimetype, len SLS_CC);
+ newlen = sapi_apply_default_charset(&mimetype, len TSRMLS_CC);
if (newlen != 0) {
newlen += sizeof("Content-type: ");
newheader = emalloc(newlen);
@@ -449,7 +448,7 @@ SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bo
}
if (sapi_module.header_handler) {
- retval = sapi_module.header_handler(&sapi_header, &SG(sapi_headers) SLS_CC);
+ retval = sapi_module.header_handler(&sapi_header, &SG(sapi_headers) TSRMLS_CC);
} else {
retval = SAPI_HEADER_ADD;
}
@@ -470,7 +469,7 @@ SAPI_API int sapi_send_headers()
{
int retval;
int ret = FAILURE;
- SLS_FETCH();
+ TSRMLS_FETCH();
if (SG(headers_sent) || SG(request_info).no_headers) {
return SUCCESS;
@@ -482,7 +481,7 @@ SAPI_API int sapi_send_headers()
SG(headers_sent) = 1;
if (sapi_module.send_headers) {
- retval = sapi_module.send_headers(&SG(sapi_headers) SLS_CC);
+ retval = sapi_module.send_headers(&SG(sapi_headers) TSRMLS_CC);
} else {
retval = SAPI_HEADER_DO_SEND;
}
@@ -503,7 +502,7 @@ SAPI_API int sapi_send_headers()
if(SG(sapi_headers).send_default_content_type) {
sapi_header_struct default_header;
- sapi_get_default_content_type_header(&default_header SLS_CC);
+ sapi_get_default_content_type_header(&default_header TSRMLS_CC);
sapi_module.send_header(&default_header, SG(server_context));
sapi_free_header(&default_header);
}
@@ -549,7 +548,7 @@ SAPI_API void sapi_unregister_post_entry(sapi_post_entry *post_entry)
}
-SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(SLS_D))
+SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(TSRMLS_D))
{
sapi_module.default_post_reader = default_post_reader;
return SUCCESS;
@@ -559,7 +558,7 @@ SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(SLS_D
SAPI_API int sapi_flush()
{
if (sapi_module.flush) {
- SLS_FETCH();
+ TSRMLS_FETCH();
sapi_module.flush(SG(server_context));
return SUCCESS;
@@ -570,10 +569,10 @@ SAPI_API int sapi_flush()
SAPI_API struct stat *sapi_get_stat()
{
- SLS_FETCH();
+ TSRMLS_FETCH();
if (sapi_module.get_stat) {
- return sapi_module.get_stat(SLS_C);
+ return sapi_module.get_stat(TSRMLS_C);
} else {
if (!SG(request_info).path_translated || (VCWD_STAT(SG(request_info).path_translated, &SG(global_stat))==-1)) {
return NULL;
@@ -586,9 +585,9 @@ SAPI_API struct stat *sapi_get_stat()
SAPI_API char *sapi_getenv(char *name, size_t name_len)
{
if (sapi_module.getenv) {
- SLS_FETCH();
+ TSRMLS_FETCH();
- return sapi_module.getenv(name, name_len SLS_CC);
+ return sapi_module.getenv(name, name_len TSRMLS_CC);
} else {
return NULL;
}
diff --git a/main/SAPI.h b/main/SAPI.h
index 00103225fc..85dd8a2079 100644
--- a/main/SAPI.h
+++ b/main/SAPI.h
@@ -116,49 +116,39 @@ typedef struct {
#ifdef ZTS
-# define SLS_D sapi_globals_struct *sapi_globals
-# define SLS_DC , SLS_D
-# define SLS_C sapi_globals
-# define SLS_CC , SLS_C
-# define SG(v) (sapi_globals->v)
-# define SLS_FETCH() sapi_globals_struct *sapi_globals = ts_resource(sapi_globals_id)
+# define SG(v) TSRMG(sapi_globals_id, sapi_globals_struct *, v)
SAPI_API extern int sapi_globals_id;
#else
-# define SLS_D void
-# define SLS_DC
-# define SLS_C
-# define SLS_CC
# define SG(v) (sapi_globals.v)
-# define SLS_FETCH()
extern SAPI_API sapi_globals_struct sapi_globals;
#endif
SAPI_API void sapi_startup(sapi_module_struct *sf);
SAPI_API void sapi_shutdown(void);
-SAPI_API void sapi_activate(SLS_D);
-SAPI_API void sapi_deactivate(SLS_D);
-SAPI_API void sapi_initialize_empty_request(SLS_D);
+SAPI_API void sapi_activate(TSRMLS_D);
+SAPI_API void sapi_deactivate(TSRMLS_D);
+SAPI_API void sapi_initialize_empty_request(TSRMLS_D);
SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bool duplicate, zend_bool replace);
#define sapi_add_header(header_line, header_line_len, duplicate) \
sapi_add_header_ex((header_line), (header_line_len), (duplicate), 1)
SAPI_API int sapi_send_headers(void);
SAPI_API void sapi_free_header(sapi_header_struct *sapi_header);
-SAPI_API void sapi_handle_post(void *arg SLS_DC);
+SAPI_API void sapi_handle_post(void *arg TSRMLS_DC);
SAPI_API int sapi_register_post_entries(sapi_post_entry *post_entry);
SAPI_API int sapi_register_post_entry(sapi_post_entry *post_entry);
SAPI_API void sapi_unregister_post_entry(sapi_post_entry *post_entry);
-SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(SLS_D));
+SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(TSRMLS_D));
SAPI_API int sapi_flush(void);
SAPI_API struct stat *sapi_get_stat(void);
SAPI_API char *sapi_getenv(char *name, size_t name_len);
-SAPI_API char *sapi_get_default_content_type(SLS_D);
-SAPI_API void sapi_get_default_content_type_header(sapi_header_struct *default_header SLS_DC);
-SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len SLS_DC);
+SAPI_API char *sapi_get_default_content_type(TSRMLS_D);
+SAPI_API void sapi_get_default_content_type_header(sapi_header_struct *default_header TSRMLS_DC);
+SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len TSRMLS_DC);
struct _sapi_module_struct {
char *name;
@@ -167,24 +157,24 @@ struct _sapi_module_struct {
int (*startup)(struct _sapi_module_struct *sapi_module);
int (*shutdown)(struct _sapi_module_struct *sapi_module);
- int (*activate)(SLS_D);
- int (*deactivate)(SLS_D);
+ int (*activate)(TSRMLS_D);
+ int (*deactivate)(TSRMLS_D);
int (*ub_write)(const char *str, unsigned int str_length);
void (*flush)(void *server_context);
- struct stat *(*get_stat)(SLS_D);
- char *(*getenv)(char *name, size_t name_len SLS_DC);
+ struct stat *(*get_stat)(TSRMLS_D);
+ char *(*getenv)(char *name, size_t name_len TSRMLS_DC);
void (*sapi_error)(int type, const char *error_msg, ...);
- int (*header_handler)(sapi_header_struct *sapi_header, sapi_headers_struct *sapi_headers SLS_DC);
- int (*send_headers)(sapi_headers_struct *sapi_headers SLS_DC);
+ int (*header_handler)(sapi_header_struct *sapi_header, sapi_headers_struct *sapi_headers TSRMLS_DC);
+ int (*send_headers)(sapi_headers_struct *sapi_headers TSRMLS_DC);
void (*send_header)(sapi_header_struct *sapi_header, void *server_context);
- int (*read_post)(char *buffer, uint count_bytes SLS_DC);
- char *(*read_cookies)(SLS_D);
+ int (*read_post)(char *buffer, uint count_bytes TSRMLS_DC);
+ char *(*read_cookies)(TSRMLS_D);
- void (*register_server_variables)(zval *track_vars_array TSRMLS_DC SLS_DC PLS_DC);
+ void (*register_server_variables)(zval *track_vars_array TSRMLS_DC);
void (*log_message)(char *message);
char *php_ini_path_override;
@@ -192,15 +182,15 @@ struct _sapi_module_struct {
void (*block_interruptions)(void);
void (*unblock_interruptions)(void);
- void (*default_post_reader)(SLS_D);
+ void (*default_post_reader)(TSRMLS_D);
};
struct _sapi_post_entry {
char *content_type;
uint content_type_len;
- void (*post_reader)(SLS_D);
- void (*post_handler)(char *content_type_dup, void *arg SLS_DC);
+ void (*post_reader)(TSRMLS_D);
+ void (*post_handler)(char *content_type_dup, void *arg TSRMLS_DC);
};
/* header_handler() constants */
@@ -217,8 +207,8 @@ struct _sapi_post_entry {
#define SAPI_DEFAULT_CHARSET ""
#define SAPI_PHP_VERSION_HEADER "X-Powered-By: PHP/" PHP_VERSION
-#define SAPI_POST_READER_FUNC(post_reader) SAPI_API void post_reader(SLS_D)
-#define SAPI_POST_HANDLER_FUNC(post_handler) SAPI_API void post_handler(char *content_type_dup, void *arg SLS_DC)
+#define SAPI_POST_READER_FUNC(post_reader) SAPI_API void post_reader(TSRMLS_D)
+#define SAPI_POST_HANDLER_FUNC(post_handler) SAPI_API void post_handler(char *content_type_dup, void *arg TSRMLS_DC)
SAPI_POST_READER_FUNC(sapi_read_standard_form_data);
SAPI_POST_READER_FUNC(php_default_post_reader);
diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c
index ea1bc7a8dd..f1271ad0a4 100644
--- a/main/fopen_wrappers.c
+++ b/main/fopen_wrappers.c
@@ -92,7 +92,7 @@ HashTable fopen_url_wrappers_hash;
*/
PHPAPI int php_register_url_wrapper(char *protocol, FILE * (*wrapper)(char *path, char *mode, int options, int *issock, int *socketd, char **opened_path))
{
- PLS_FETCH();
+ TSRMLS_FETCH();
if(PG(allow_url_fopen)) {
return zend_hash_add(&fopen_url_wrappers_hash, protocol, strlen(protocol), &wrapper, sizeof(wrapper), NULL);
@@ -106,7 +106,7 @@ PHPAPI int php_register_url_wrapper(char *protocol, FILE * (*wrapper)(char *path
*/
PHPAPI int php_unregister_url_wrapper(char *protocol)
{
- PLS_FETCH();
+ TSRMLS_FETCH();
if(PG(allow_url_fopen)) {
return zend_hash_del(&fopen_url_wrappers_hash, protocol, strlen(protocol));
@@ -120,7 +120,7 @@ PHPAPI int php_unregister_url_wrapper(char *protocol)
*/
int php_init_fopen_wrappers(void)
{
- PLS_FETCH();
+ TSRMLS_FETCH();
if(PG(allow_url_fopen))
return zend_hash_init(&fopen_url_wrappers_hash, 0, NULL, NULL, 1);
@@ -133,7 +133,7 @@ int php_init_fopen_wrappers(void)
*/
int php_shutdown_fopen_wrappers(void)
{
- PLS_FETCH();
+ TSRMLS_FETCH();
if(PG(allow_url_fopen)) {
zend_hash_destroy(&fopen_url_wrappers_hash);
@@ -149,13 +149,12 @@ int php_shutdown_fopen_wrappers(void)
When open_basedir is NULL, always return 0
*/
-PHPAPI int php_check_specific_open_basedir(char *basedir, char *path PLS_DC)
+PHPAPI int php_check_specific_open_basedir(char *basedir, char *path TSRMLS_DC)
{
char resolved_name[MAXPATHLEN];
char resolved_basedir[MAXPATHLEN];
char local_open_basedir[MAXPATHLEN];
int local_open_basedir_pos;
- SLS_FETCH();
/* Special case basedir==".": Use script-directory */
if ((strcmp(basedir, ".") == 0) &&
@@ -199,7 +198,7 @@ PHPAPI int php_check_specific_open_basedir(char *basedir, char *path PLS_DC)
*/
PHPAPI int php_check_open_basedir(char *path)
{
- PLS_FETCH();
+ TSRMLS_FETCH();
/* Only check when open_basedir is available */
if (PG(open_basedir) && *PG(open_basedir)) {
@@ -218,7 +217,7 @@ PHPAPI int php_check_open_basedir(char *path)
end++;
}
- if (php_check_specific_open_basedir(ptr, path PLS_CC) == 0) {
+ if (php_check_specific_open_basedir(ptr, path TSRMLS_CC) == 0) {
efree(pathbuf);
return 0;
}
@@ -257,7 +256,7 @@ static FILE *php_fopen_and_set_opened_path(const char *path, char *mode, char **
*/
PHPAPI FILE *php_fopen_wrapper(char *path, char *mode, int options, int *issock, int *socketd, char **opened_path)
{
- PLS_FETCH();
+ TSRMLS_FETCH();
if(!path) return NULL;
if(!*path) return NULL;
@@ -291,8 +290,7 @@ PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle)
struct stat st;
char *path_info, *filename;
int length;
- PLS_FETCH();
- SLS_FETCH();
+ TSRMLS_FETCH();
filename = SG(request_info).path_translated;
path_info = SG(request_info).request_uri;
@@ -400,7 +398,6 @@ PHPAPI FILE *php_fopen_with_path(char *filename, char *mode, char *path, char **
int filename_length;
int safe_mode_include_dir_length;
int exec_fname_length;
- PLS_FETCH();
TSRMLS_FETCH();
if (opened_path) {
@@ -560,7 +557,7 @@ static FILE *php_fopen_url_wrapper(const char *path, char *mode, int options, in
}
if (!protocol || !strncasecmp(protocol, "file",n)){
- PLS_FETCH();
+ TSRMLS_FETCH();
*issock = 0;
diff --git a/main/fopen_wrappers.h b/main/fopen_wrappers.h
index ee0040e338..18a8610c03 100644
--- a/main/fopen_wrappers.h
+++ b/main/fopen_wrappers.h
@@ -70,7 +70,7 @@ PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle);
PHPAPI char *expand_filepath(const char *filepath, char *real_path);
PHPAPI int php_check_open_basedir(char *path);
-PHPAPI int php_check_specific_open_basedir(char *basedir, char *path PLS_DC);
+PHPAPI int php_check_specific_open_basedir(char *basedir, char *path TSRMLS_DC);
PHPAPI FILE *php_fopen_with_path(char *filename, char *mode, char *path, char **opened_path);
diff --git a/main/main.c b/main/main.c
index 40a22ff498..41ea7053d8 100644
--- a/main/main.c
+++ b/main/main.c
@@ -83,7 +83,7 @@ php_core_globals core_globals;
PHPAPI int core_globals_id;
#endif
-static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC PLS_DC);
+static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC);
#define SAFE_FILENAME(f) ((f)?(f):"-")
@@ -275,7 +275,7 @@ PHPAPI void php_log_err(char *log_message)
char error_time_str[128];
struct tm tmbuf;
time_t error_time;
- PLS_FETCH();
+ TSRMLS_FETCH();
/* Try to use the specified logging location. */
if (PG(error_log) != NULL) {
@@ -344,7 +344,6 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
char buffer[1024];
int buffer_len;
TSRMLS_FETCH();
- PLS_FETCH();
buffer_len = vsnprintf(buffer, sizeof(buffer)-1, format, args);
buffer[sizeof(buffer)-1]=0;
@@ -480,7 +479,6 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
PHP_FUNCTION(set_time_limit)
{
zval **new_timeout;
- PLS_FETCH();
if (PG(safe_mode)) {
php_error(E_WARNING, "Cannot set time limit in safe mode");
@@ -537,13 +535,13 @@ static void php_message_handler_for_zend(long message, void *data)
{
switch (message) {
case ZMSG_FAILED_INCLUDE_FOPEN: {
- PLS_FETCH();
+ TSRMLS_FETCH();
php_error(E_WARNING, "Failed opening '%s' for inclusion (include_path='%s')", php_strip_url_passwd((char *) data), STR_PRINT(PG(include_path)));
}
break;
case ZMSG_FAILED_REQUIRE_FOPEN: {
- PLS_FETCH();
+ TSRMLS_FETCH();
php_error(E_COMPILE_ERROR, "Failed opening required '%s' (include_path='%s')", php_strip_url_passwd((char *) data), STR_PRINT(PG(include_path)));
}
@@ -558,7 +556,7 @@ static void php_message_handler_for_zend(long message, void *data)
if (EG(error_reporting)&E_WARNING) {
#if ZEND_DEBUG
char memory_leak_buf[512];
- SLS_FETCH();
+ TSRMLS_FETCH();
if (message==ZMSG_MEMORY_LEAK_DETECTED) {
zend_mem_header *t = (zend_mem_header *) data;
@@ -589,7 +587,7 @@ static void php_message_handler_for_zend(long message, void *data)
struct tm *ta, tmbuf;
time_t curtime;
char *datetime_str, asctimebuf[52];
- SLS_FETCH();
+ TSRMLS_FETCH();
time(&curtime);
ta = php_localtime_r(&curtime, &tmbuf);
@@ -614,11 +612,11 @@ static void sigchld_handler(int apar)
/* }}} */
#endif
-static int php_hash_environment(TSRMLS_D SLS_DC PLS_DC);
+static int php_hash_environment(TSRMLS_D);
/* {{{ php_request_startup
*/
-int php_request_startup(CLS_D TSRMLS_DC PLS_DC SLS_DC)
+int php_request_startup(TSRMLS_D)
{
int retval = SUCCESS;
@@ -636,8 +634,8 @@ int php_request_startup(CLS_D TSRMLS_DC PLS_DC SLS_DC)
PG(header_is_being_sent) = 0;
PG(connection_status) = PHP_CONNECTION_NORMAL;
- zend_activate(CLS_C TSRMLS_CC);
- sapi_activate(SLS_C);
+ zend_activate(TSRMLS_C);
+ sapi_activate(TSRMLS_C);
zend_set_timeout(EG(timeout_seconds));
@@ -662,7 +660,7 @@ int php_request_startup(CLS_D TSRMLS_DC PLS_DC SLS_DC)
/* We turn this off in php_execute_script() */
/* PG(during_request_startup) = 0; */
- php_hash_environment(TSRMLS_C SLS_CC PLS_CC);
+ php_hash_environment(TSRMLS_C);
zend_activate_modules();
PG(modules_activated)=1;
} zend_catch {
@@ -687,10 +685,7 @@ void php_request_shutdown_for_exec(void *dummy)
*/
void php_request_shutdown(void *dummy)
{
- CLS_FETCH();
TSRMLS_FETCH();
- SLS_FETCH();
- PLS_FETCH();
zend_try {
php_end_ob_buffers((zend_bool)(SG(request_info).headers_only?0:1));
@@ -708,10 +703,10 @@ void php_request_shutdown(void *dummy)
zend_deactivate_modules();
}
- zend_deactivate(CLS_C TSRMLS_CC);
+ zend_deactivate(TSRMLS_C);
zend_try {
- sapi_deactivate(SLS_C);
+ sapi_deactivate(TSRMLS_C);
} zend_end_try();
zend_try {
@@ -780,6 +775,7 @@ int php_module_startup(sapi_module_struct *sf)
#ifdef ZTS
zend_executor_globals *executor_globals;
void ***tsrm_ls;
+
php_core_globals *core_globals;
sapi_globals_struct *sapi_globals = ts_resource(sapi_globals_id);
#endif
@@ -802,8 +798,12 @@ int php_module_startup(sapi_module_struct *sf)
php_os=PHP_OS;
#endif
- sapi_initialize_empty_request(SLS_C);
- sapi_activate(SLS_C);
+#ifdef ZTS
+ tsrm_ls = ts_resource(0);
+#endif
+
+ sapi_initialize_empty_request(TSRMLS_C);
+ sapi_activate(TSRMLS_C);
if (module_initialized) {
return SUCCESS;
@@ -827,7 +827,6 @@ int php_module_startup(sapi_module_struct *sf)
#ifdef ZTS
executor_globals = ts_resource(executor_globals_id);
- tsrm_ls = ts_resource(0);
ts_allocate_id(&core_globals_id, sizeof(php_core_globals), (ts_allocate_ctor) core_globals_ctor, NULL);
core_globals = ts_resource(core_globals_id);
#endif
@@ -898,7 +897,7 @@ int php_module_startup(sapi_module_struct *sf)
REGISTER_MAIN_STRINGL_CONSTANT("PHP_CONFIG_FILE_PATH", PHP_CONFIG_FILE_PATH, sizeof(PHP_CONFIG_FILE_PATH)-1, CONST_PERSISTENT | CONST_CS);
php_output_register_constants();
- if (php_startup_ticks(PLS_C) == FAILURE) {
+ if (php_startup_ticks(TSRMLS_C) == FAILURE) {
php_printf("Unable to start PHP ticks\n");
return FAILURE;
}
@@ -925,7 +924,7 @@ int php_module_startup(sapi_module_struct *sf)
/* */
module_initialized = 1;
- sapi_deactivate(SLS_C);
+ sapi_deactivate(TSRMLS_C);
/* we're done */
return SUCCESS;
@@ -951,7 +950,7 @@ int php_module_shutdown_wrapper(sapi_module_struct *sapi_globals)
void php_module_shutdown()
{
int module_number=0; /* for UNREGISTER_INI_ENTRIES() */
- PLS_FETCH();
+ TSRMLS_FETCH();
if (!module_initialized) {
return;
@@ -965,7 +964,7 @@ void php_module_shutdown()
WSACleanup();
#endif
- php_shutdown_ticks(PLS_C);
+ php_shutdown_ticks(TSRMLS_C);
sapi_flush();
zend_shutdown();
@@ -982,7 +981,7 @@ void php_module_shutdown()
/* {{{ php_register_server_variables
*/
-static inline void php_register_server_variables(TSRMLS_D SLS_DC PLS_DC)
+static inline void php_register_server_variables(TSRMLS_D)
{
zval *array_ptr=NULL;
@@ -993,27 +992,27 @@ static inline void php_register_server_variables(TSRMLS_D SLS_DC PLS_DC)
/* Server variables */
if (sapi_module.register_server_variables) {
- sapi_module.register_server_variables(array_ptr TSRMLS_CC SLS_CC PLS_CC);
+ sapi_module.register_server_variables(array_ptr TSRMLS_CC);
}
/* argv/argc support */
if (PG(register_argc_argv)) {
- php_build_argv(SG(request_info).query_string, array_ptr TSRMLS_CC PLS_CC);
+ php_build_argv(SG(request_info).query_string, array_ptr TSRMLS_CC);
}
/* PHP Authentication support */
if (SG(request_info).auth_user) {
- php_register_variable("PHP_AUTH_USER", SG(request_info).auth_user, array_ptr TSRMLS_CC PLS_CC);
+ php_register_variable("PHP_AUTH_USER", SG(request_info).auth_user, array_ptr TSRMLS_CC);
}
if (SG(request_info).auth_password) {
- php_register_variable("PHP_AUTH_PW", SG(request_info).auth_password, array_ptr TSRMLS_CC PLS_CC);
+ php_register_variable("PHP_AUTH_PW", SG(request_info).auth_password, array_ptr TSRMLS_CC);
}
}
/* }}} */
/* {{{ php_hash_environment
*/
-static int php_hash_environment(TSRMLS_D SLS_DC PLS_DC)
+static int php_hash_environment(TSRMLS_D)
{
char *p;
unsigned char _gpc_flags[3] = {0,0,0};
@@ -1053,7 +1052,7 @@ static int php_hash_environment(TSRMLS_D SLS_DC PLS_DC)
ALLOC_ZVAL(PG(http_globals)[TRACK_VARS_ENV]);
array_init(PG(http_globals)[TRACK_VARS_ENV]);
INIT_PZVAL(PG(http_globals)[TRACK_VARS_ENV]);
- php_import_environment_variables(PG(http_globals)[TRACK_VARS_ENV] TSRMLS_CC PLS_CC);
+ php_import_environment_variables(PG(http_globals)[TRACK_VARS_ENV] TSRMLS_CC);
}
while(p && *p) {
@@ -1061,21 +1060,21 @@ static int php_hash_environment(TSRMLS_D SLS_DC PLS_DC)
case 'p':
case 'P':
if (!_gpc_flags[0] && !SG(headers_sent) && SG(request_info).request_method && !strcasecmp(SG(request_info).request_method, "POST")) {
- php_treat_data(PARSE_POST, NULL, NULL TSRMLS_CC PLS_CC SLS_CC); /* POST Data */
+ php_treat_data(PARSE_POST, NULL, NULL TSRMLS_CC); /* POST Data */
_gpc_flags[0]=1;
}
break;
case 'c':
case 'C':
if (!_gpc_flags[1]) {
- php_treat_data(PARSE_COOKIE, NULL, NULL TSRMLS_CC PLS_CC SLS_CC); /* Cookie Data */
+ php_treat_data(PARSE_COOKIE, NULL, NULL TSRMLS_CC); /* Cookie Data */
_gpc_flags[1]=1;
}
break;
case 'g':
case 'G':
if (!_gpc_flags[2]) {
- php_treat_data(PARSE_GET, NULL, NULL TSRMLS_CC PLS_CC SLS_CC); /* GET Data */
+ php_treat_data(PARSE_GET, NULL, NULL TSRMLS_CC); /* GET Data */
_gpc_flags[2]=1;
}
break;
@@ -1085,20 +1084,20 @@ static int php_hash_environment(TSRMLS_D SLS_DC PLS_DC)
ALLOC_ZVAL(PG(http_globals)[TRACK_VARS_ENV]);
array_init(PG(http_globals)[TRACK_VARS_ENV]);
INIT_PZVAL(PG(http_globals)[TRACK_VARS_ENV]);
- php_import_environment_variables(PG(http_globals)[TRACK_VARS_ENV] TSRMLS_CC PLS_CC);
+ php_import_environment_variables(PG(http_globals)[TRACK_VARS_ENV] TSRMLS_CC);
} else {
php_error(E_WARNING, "Unsupported 'e' element (environment) used in gpc_order - use variables_order instead");
}
break;
case 's':
case 'S':
- php_register_server_variables(TSRMLS_C SLS_CC PLS_CC);
+ php_register_server_variables(TSRMLS_C);
break;
}
}
if (!have_variables_order) {
- php_register_server_variables(TSRMLS_C SLS_CC PLS_CC);
+ php_register_server_variables(TSRMLS_C);
}
for (i=0; i<6; i++) {
@@ -1121,7 +1120,7 @@ static int php_hash_environment(TSRMLS_D SLS_DC PLS_DC)
/* {{{ php_build_argv
*/
-static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC PLS_DC)
+static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC)
{
pval *arr, *argc, *tmp;
int count = 0;
@@ -1180,7 +1179,7 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC PLS_DC)
/* {{{ php_handle_special_queries
*/
-PHPAPI int php_handle_special_queries(SLS_D PLS_DC)
+PHPAPI int php_handle_special_queries(TSRMLS_D)
{
if (SG(request_info).query_string && SG(request_info).query_string[0]=='='
&& PG(expose_php)) {
@@ -1197,15 +1196,14 @@ PHPAPI int php_handle_special_queries(SLS_D PLS_DC)
/* {{{ php_execute_script
*/
-PHPAPI int php_execute_script(zend_file_handle *primary_file CLS_DC TSRMLS_DC PLS_DC)
+PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
{
zend_file_handle *prepend_file_p, *append_file_p;
zend_file_handle prepend_file, append_file;
char *old_cwd;
- SLS_FETCH();
EG(exit_status) = 0;
- if (php_handle_special_queries(SLS_C PLS_CC)) {
+ if (php_handle_special_queries(TSRMLS_C)) {
return 0;
}
#define OLD_CWD_SIZE 4096
@@ -1243,7 +1241,7 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file CLS_DC TSRMLS_DC PL
} else {
append_file_p = NULL;
}
- zend_execute_scripts(ZEND_REQUIRE CLS_CC TSRMLS_CC, 3, prepend_file_p, primary_file, append_file_p);
+ zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, 3, prepend_file_p, primary_file, append_file_p);
} zend_end_try();
if (old_cwd[0] != '\0') {
@@ -1258,7 +1256,7 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file CLS_DC TSRMLS_DC PL
*/
PHPAPI void php_handle_aborted_connection(void)
{
- PLS_FETCH();
+ TSRMLS_FETCH();
PG(connection_status) = PHP_CONNECTION_ABORTED;
php_output_set_status(0);
@@ -1271,7 +1269,7 @@ PHPAPI void php_handle_aborted_connection(void)
/* {{{ php_handle_auth_data
*/
-PHPAPI int php_handle_auth_data(const char *auth SLS_DC)
+PHPAPI int php_handle_auth_data(const char *auth TSRMLS_DC)
{
int ret = -1;
@@ -1303,13 +1301,13 @@ PHPAPI int php_handle_auth_data(const char *auth SLS_DC)
/* {{{ php_lint_script
*/
-PHPAPI int php_lint_script(zend_file_handle *file CLS_DC TSRMLS_DC PLS_DC)
+PHPAPI int php_lint_script(zend_file_handle *file TSRMLS_DC)
{
zend_op_array *op_array;
zend_try {
- op_array = zend_compile_file(file, ZEND_INCLUDE CLS_CC);
- zend_destroy_file_handle(file CLS_CC);
+ op_array = zend_compile_file(file, ZEND_INCLUDE TSRMLS_CC);
+ zend_destroy_file_handle(file TSRMLS_CC);
if (op_array) {
destroy_op_array(op_array);
diff --git a/main/output.c b/main/output.c
index 9ded7e65e4..562c28702c 100644
--- a/main/output.c
+++ b/main/output.c
@@ -50,7 +50,7 @@ static int php_default_output_func(const char *str, uint str_len)
}
-static void php_output_init_globals(OLS_D TSRMLS_DC)
+static void php_output_init_globals(php_output_globals *output_globals_p TSRMLS_DC)
{
OG(php_body_write) = php_default_output_func;
OG(php_header_write) = php_default_output_func;
@@ -66,14 +66,14 @@ PHPAPI void php_output_startup(void)
#ifdef ZTS
ts_allocate_id(&output_globals_id, sizeof(php_output_globals), (ts_allocate_ctor) php_output_init_globals, NULL);
#else
- php_output_init_globals(OLS_C TSRMLS_CC);
+ php_output_init_globals(&output_globals TSRMLS_CC);
#endif
}
PHPAPI void php_output_activate(void)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
OG(php_body_write) = php_ub_body_write;
OG(php_header_write) = sapi_module.ub_write;
@@ -85,7 +85,7 @@ PHPAPI void php_output_activate(void)
PHPAPI void php_output_set_status(zend_bool status)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
OG(disable_output) = !status;
}
@@ -103,13 +103,13 @@ void php_output_register_constants()
PHPAPI int php_body_write(const char *str, uint str_length)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
return OG(php_body_write)(str, str_length);
}
PHPAPI int php_header_write(const char *str, uint str_length)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(disable_output)) {
return 0;
} else {
@@ -121,7 +121,7 @@ PHPAPI int php_header_write(const char *str, uint str_length)
* Start output buffering */
PHPAPI int php_start_ob_buffer(zval *output_handler, uint chunk_size)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(ob_lock)) {
return FAILURE;
@@ -146,8 +146,7 @@ PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool just_flush)
char *to_be_destroyed_buffer;
char *to_be_destroyed_handled_output[2] = { 0, 0 };
int status;
- SLS_FETCH();
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(ob_nesting_level)==0) {
return;
@@ -171,7 +170,7 @@ PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool just_flush)
zval **params[2];
zval *orig_buffer;
zval *z_status;
- CLS_FETCH();
+ TSRMLS_FETCH();
ALLOC_INIT_ZVAL(orig_buffer);
ZVAL_STRINGL(orig_buffer,OG(active_ob_buffer).buffer,OG(active_ob_buffer).text_length,0);
@@ -263,8 +262,7 @@ PHPAPI void php_end_ob_buffer(zend_bool send_buffer, zend_bool just_flush)
* End output buffering (all buffers) */
PHPAPI void php_end_ob_buffers(zend_bool send_buffer)
{
- OLS_FETCH();
- BLS_FETCH();
+ TSRMLS_FETCH();
while (OG(ob_nesting_level)!=0) {
php_end_ob_buffer(send_buffer, 0);
@@ -280,7 +278,7 @@ PHPAPI void php_end_ob_buffers(zend_bool send_buffer)
*/
PHPAPI void php_start_implicit_flush()
{
- OLS_FETCH();
+ TSRMLS_FETCH();
php_end_ob_buffer(1, 0); /* Switch out of output buffering if we're in it */
OG(implicit_flush)=1;
@@ -291,7 +289,7 @@ PHPAPI void php_start_implicit_flush()
*/
PHPAPI void php_end_implicit_flush()
{
- OLS_FETCH();
+ TSRMLS_FETCH();
OG(implicit_flush)=0;
}
@@ -301,7 +299,7 @@ PHPAPI void php_end_implicit_flush()
*/
PHPAPI void php_ob_set_internal_handler(php_output_handler_func_t internal_output_handler, uint buffer_size)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(ob_nesting_level)==0) {
return;
@@ -321,7 +319,7 @@ PHPAPI void php_ob_set_internal_handler(php_output_handler_func_t internal_outpu
*/
static inline void php_ob_allocate(void)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(active_ob_buffer).size<OG(active_ob_buffer).text_length) {
while (OG(active_ob_buffer).size <= OG(active_ob_buffer).text_length) {
@@ -337,7 +335,7 @@ static inline void php_ob_allocate(void)
*/
static void php_ob_init(uint initial_size, uint block_size, zval *output_handler, uint chunk_size)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(ob_nesting_level)>0) {
if (OG(ob_nesting_level)==1) { /* initialize stack */
@@ -363,7 +361,7 @@ static void php_ob_append(const char *text, uint text_length)
{
char *target;
int original_ob_text_length;
- OLS_FETCH();
+ TSRMLS_FETCH();
original_ob_text_length=OG(active_ob_buffer).text_length;
OG(active_ob_buffer).text_length = OG(active_ob_buffer).text_length + text_length;
@@ -390,7 +388,7 @@ static void php_ob_append(const char *text, uint text_length)
static void php_ob_prepend(const char *text, uint text_length)
{
char *p, *start;
- OLS_FETCH();
+ TSRMLS_FETCH();
OG(active_ob_buffer).text_length += text_length;
php_ob_allocate();
@@ -412,7 +410,7 @@ static void php_ob_prepend(const char *text, uint text_length)
* Return the current output buffer */
int php_ob_get_buffer(pval *p)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(ob_nesting_level)==0) {
return FAILURE;
@@ -426,7 +424,7 @@ int php_ob_get_buffer(pval *p)
* Return the size of the current output buffer */
int php_ob_get_length(pval *p)
{
- OLS_FETCH();
+ TSRMLS_FETCH();
if (OG(ob_nesting_level) == 0) {
return FAILURE;
@@ -455,8 +453,7 @@ static int php_ub_body_write_no_header(const char *str, uint str_length)
char *newstr = NULL;
size_t new_length=0;
int result;
- OLS_FETCH();
- BLS_FETCH();
+ TSRMLS_FETCH();
if (OG(disable_output)) {
return 0;
@@ -485,8 +482,7 @@ static int php_ub_body_write_no_header(const char *str, uint str_length)
static int php_ub_body_write(const char *str, uint str_length)
{
int result = 0;
- SLS_FETCH();
- OLS_FETCH();
+ TSRMLS_FETCH();
if (SG(request_info).headers_only) {
php_header();
@@ -494,10 +490,10 @@ static int php_ub_body_write(const char *str, uint str_length)
}
if (php_header()) {
if (zend_is_compiling()) {
- CLS_FETCH();
+ TSRMLS_FETCH();
- OG(output_start_filename) = zend_get_compiled_filename(CLS_C);
- OG(output_start_lineno) = zend_get_compiled_lineno(CLS_C);
+ OG(output_start_filename) = zend_get_compiled_filename(TSRMLS_C);
+ OG(output_start_lineno) = zend_get_compiled_lineno(TSRMLS_C);
} else if (zend_is_executing()) {
TSRMLS_FETCH();
@@ -557,8 +553,7 @@ PHP_FUNCTION(ob_start)
break;
}
if (php_start_ob_buffer(output_handler, chunk_size)==FAILURE) {
- SLS_FETCH();
- OLS_FETCH();
+ TSRMLS_FETCH();
if (SG(headers_sent) && !SG(request_info).headers_only) {
OG(php_body_write) = php_ub_body_write_no_header;
@@ -641,7 +636,7 @@ PHP_FUNCTION(ob_implicit_flush)
PHPAPI char *php_get_output_start_filename()
{
- OLS_FETCH();
+ TSRMLS_FETCH();
return OG(output_start_filename);
}
@@ -649,7 +644,7 @@ PHPAPI char *php_get_output_start_filename()
PHPAPI int php_get_output_start_lineno()
{
- OLS_FETCH();
+ TSRMLS_FETCH();
return OG(output_start_lineno);
}
diff --git a/main/php_content_types.c b/main/php_content_types.c
index 902e5e9e0b..80ef9a8290 100644
--- a/main/php_content_types.c
+++ b/main/php_content_types.c
@@ -38,9 +38,8 @@ static sapi_post_entry php_post_entries[] = {
SAPI_POST_READER_FUNC(php_default_post_reader)
{
char *data;
- TSRMLS_FETCH();
- if(!SG(request_info).post_data) sapi_read_standard_form_data(SLS_C);
+ if(!SG(request_info).post_data) sapi_read_standard_form_data(TSRMLS_C);
data = estrndup(SG(request_info).post_data,SG(request_info).post_data_length);
SET_VAR_STRINGL("HTTP_RAW_POST_DATA", data, SG(request_info).post_data_length);
}
diff --git a/main/php_globals.h b/main/php_globals.h
index bdcf3acc60..0499e8c133 100644
--- a/main/php_globals.h
+++ b/main/php_globals.h
@@ -25,20 +25,10 @@
typedef struct _php_core_globals php_core_globals;
#ifdef ZTS
-# define PLS_D php_core_globals *core_globals
-# define PLS_DC , PLS_D
-# define PLS_C core_globals
-# define PLS_CC , PLS_C
-# define PG(v) (core_globals->v)
-# define PLS_FETCH() php_core_globals *core_globals = ts_resource(core_globals_id)
+# define PG(v) TSRMG(core_globals_id, php_core_globals *, v)
extern PHPAPI int core_globals_id;
#else
-# define PLS_D
-# define PLS_DC
-# define PLS_C
-# define PLS_CC
# define PG(v) (core_globals.v)
-# define PLS_FETCH()
extern ZEND_API struct _php_core_globals core_globals;
#endif
diff --git a/main/php_ini.c b/main/php_ini.c
index 586298131c..5e2a54b87e 100644
--- a/main/php_ini.c
+++ b/main/php_ini.c
@@ -202,7 +202,7 @@ int php_init_config(char *php_ini_path_override)
char *open_basedir;
int free_ini_search_path=0;
zend_file_handle fh;
- PLS_FETCH();
+ TSRMLS_FETCH();
if (zend_hash_init(&configuration_hash, 0, NULL, (dtor_func_t) pvalue_config_destructor, 1)==FAILURE) {
return FAILURE;
diff --git a/main/php_main.h b/main/php_main.h
index ff371f5efa..304d199ff8 100644
--- a/main/php_main.h
+++ b/main/php_main.h
@@ -28,7 +28,7 @@
#include "php_globals.h"
#include "SAPI.h"
-PHPAPI int php_request_startup(CLS_D TSRMLS_DC PLS_DC SLS_DC);
+PHPAPI int php_request_startup(TSRMLS_D);
PHPAPI void php_request_shutdown(void *dummy);
PHPAPI void php_request_shutdown_for_exec(void *dummy);
PHPAPI int php_module_startup(sapi_module_struct *sf);
@@ -38,12 +38,12 @@ PHPAPI int php_module_shutdown_wrapper(sapi_module_struct *sapi_globals);
PHPAPI int php_startup_extensions(zend_module_entry **ptr, int count);
-PHPAPI int php_execute_script(zend_file_handle *primary_file CLS_DC TSRMLS_DC PLS_DC);
-PHPAPI int php_handle_special_queries(SLS_D PLS_DC);
-PHPAPI int php_lint_script(zend_file_handle *file CLS_DC TSRMLS_DC PLS_DC);
+PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC);
+PHPAPI int php_handle_special_queries(TSRMLS_D);
+PHPAPI int php_lint_script(zend_file_handle *file TSRMLS_DC);
PHPAPI void php_handle_aborted_connection(void);
-PHPAPI int php_handle_auth_data(const char *auth SLS_DC);
+PHPAPI int php_handle_auth_data(const char *auth TSRMLS_DC);
extern void php_call_shutdown_functions(void);
diff --git a/main/php_output.h b/main/php_output.h
index 45d8c404a1..38211a5222 100644
--- a/main/php_output.h
+++ b/main/php_output.h
@@ -77,16 +77,10 @@ typedef struct _php_output_globals {
#ifdef ZTS
-#define OLS_D php_output_globals *output_globals
-#define OLS_C output_globals
-#define OG(v) (output_globals->v)
-#define OLS_FETCH() php_output_globals *output_globals = ts_resource(output_globals_id)
+#define OG(v) TSRMG(output_globals_id, php_output_globals *, v)
ZEND_API extern int output_globals_id;
#else
-#define OLS_D void
-#define OLS_C
#define OG(v) (output_globals.v)
-#define OLS_FETCH()
ZEND_API extern php_output_globals output_globals;
#endif
diff --git a/main/php_ticks.c b/main/php_ticks.c
index 95e63df322..de79d9cc84 100644
--- a/main/php_ticks.c
+++ b/main/php_ticks.c
@@ -21,13 +21,13 @@
#include "php.h"
#include "php_ticks.h"
-int php_startup_ticks(PLS_D)
+int php_startup_ticks(TSRMLS_D)
{
zend_llist_init(&PG(tick_functions), sizeof(void(*)(int)), NULL, 1);
return SUCCESS;
}
-void php_shutdown_ticks(PLS_D)
+void php_shutdown_ticks(TSRMLS_D)
{
zend_llist_destroy(&PG(tick_functions));
}
@@ -43,14 +43,14 @@ static int php_compare_tick_functions(void *elem1, void *elem2)
PHPAPI void php_add_tick_function(void (*func)(int))
{
- PLS_FETCH();
+ TSRMLS_FETCH();
zend_llist_add_element(&PG(tick_functions), (void *)&func);
}
PHPAPI void php_remove_tick_function(void (*func)(int))
{
- PLS_FETCH();
+ TSRMLS_FETCH();
zend_llist_del_element(&PG(tick_functions), func,
(int(*)(void*,void*))php_compare_tick_functions);
@@ -66,7 +66,7 @@ static void php_tick_iterator(void *data, void *arg)
void php_run_ticks(int count)
{
- PLS_FETCH();
+ TSRMLS_FETCH();
zend_llist_apply_with_argument(&PG(tick_functions), (void(*)(void*,void*))php_tick_iterator, &count);
}
diff --git a/main/php_ticks.h b/main/php_ticks.h
index 7259a68d55..d7c42bf037 100644
--- a/main/php_ticks.h
+++ b/main/php_ticks.h
@@ -21,8 +21,8 @@
#ifndef PHP_TICKS_H
#define PHP_TICKS_H
-int php_startup_ticks(PLS_D);
-void php_shutdown_ticks(PLS_D);
+int php_startup_ticks(TSRMLS_D);
+void php_shutdown_ticks(TSRMLS_D);
void php_run_ticks(int count);
PHPAPI void php_add_tick_function(void (*func)(int));
PHPAPI void php_remove_tick_function(void (*func)(int));
diff --git a/main/php_variables.c b/main/php_variables.c
index 9e0ae88a62..4a9c834d38 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -29,13 +29,13 @@
#include "zend_globals.h"
-PHPAPI void php_register_variable(char *var, char *strval, zval *track_vars_array TSRMLS_DC PLS_DC)
+PHPAPI void php_register_variable(char *var, char *strval, zval *track_vars_array TSRMLS_DC)
{
- php_register_variable_safe(var, strval, strlen(strval), track_vars_array TSRMLS_CC PLS_CC);
+ php_register_variable_safe(var, strval, strlen(strval), track_vars_array TSRMLS_CC);
}
/* binary-safe version */
-PHPAPI void php_register_variable_safe(char *var, char *strval, int str_len, zval *track_vars_array TSRMLS_DC PLS_DC)
+PHPAPI void php_register_variable_safe(char *var, char *strval, int str_len, zval *track_vars_array TSRMLS_DC)
{
zval new_entry;
@@ -48,11 +48,11 @@ PHPAPI void php_register_variable_safe(char *var, char *strval, int str_len, zva
}
new_entry.type = IS_STRING;
- php_register_variable_ex(var, &new_entry, track_vars_array TSRMLS_CC PLS_CC);
+ php_register_variable_ex(var, &new_entry, track_vars_array TSRMLS_CC);
}
-PHPAPI void php_register_variable_ex(char *var, zval *val, pval *track_vars_array TSRMLS_DC PLS_DC)
+PHPAPI void php_register_variable_ex(char *var, zval *val, pval *track_vars_array TSRMLS_DC)
{
char *p = NULL;
char *ip; /* index pointer */
@@ -196,8 +196,6 @@ SAPI_POST_HANDLER_FUNC(php_std_post_handler)
char *var, *val;
char *strtok_buf = NULL;
zval *array_ptr = (zval *) arg;
- TSRMLS_FETCH();
- PLS_FETCH();
var = php_strtok_r(SG(request_info).post_data, "&", &strtok_buf);
@@ -209,14 +207,14 @@ SAPI_POST_HANDLER_FUNC(php_std_post_handler)
*val++ = '\0';
php_url_decode(var, strlen(var));
val_len = php_url_decode(val, strlen(val));
- php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC PLS_CC);
+ php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC);
}
var = php_strtok_r(NULL, "&", &strtok_buf);
}
}
-void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC PLS_DC SLS_DC)
+void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC)
{
char *res = NULL, *var, *val, *separator=NULL;
const char *c_var;
@@ -249,7 +247,7 @@ void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC PLS_DC SLS_DC)
}
if (arg==PARSE_POST) {
- sapi_handle_post(array_ptr SLS_CC);
+ sapi_handle_post(array_ptr TSRMLS_CC);
return;
}
@@ -298,7 +296,7 @@ void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC PLS_DC SLS_DC)
*val++ = '\0';
php_url_decode(var, strlen(var));
val_len = php_url_decode(val, strlen(val));
- php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC PLS_CC);
+ php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC);
}
var = php_strtok_r(NULL, separator, &strtok_buf);
}
@@ -313,7 +311,7 @@ void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC PLS_DC SLS_DC)
}
-void php_import_environment_variables(zval *array_ptr TSRMLS_DC PLS_DC)
+void php_import_environment_variables(zval *array_ptr TSRMLS_DC)
{
char **env, *p, *t;
@@ -323,7 +321,7 @@ void php_import_environment_variables(zval *array_ptr TSRMLS_DC PLS_DC)
continue;
}
t = estrndup(*env, p - *env);
- php_register_variable(t, p+1, array_ptr TSRMLS_CC PLS_CC);
+ php_register_variable(t, p+1, array_ptr TSRMLS_CC);
efree(t);
}
}
diff --git a/main/php_variables.h b/main/php_variables.h
index 03c47db216..c20ed1f5e1 100644
--- a/main/php_variables.h
+++ b/main/php_variables.h
@@ -30,12 +30,12 @@
#define PARSE_COOKIE 2
#define PARSE_STRING 3
-void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC PLS_DC SLS_DC);
-PHPAPI void php_import_environment_variables(zval *array_ptr TSRMLS_DC PLS_DC);
-PHPAPI void php_register_variable(char *var, char *val, pval *track_vars_array TSRMLS_DC PLS_DC);
+void php_treat_data(int arg, char *str, zval* destArray TSRMLS_DC);
+PHPAPI void php_import_environment_variables(zval *array_ptr TSRMLS_DC);
+PHPAPI void php_register_variable(char *var, char *val, pval *track_vars_array TSRMLS_DC);
/* binary-safe version */
-PHPAPI void php_register_variable_safe(char *var, char *val, int val_len, pval *track_vars_array TSRMLS_DC PLS_DC);
-PHPAPI void php_register_variable_ex(char *var, zval *val, pval *track_vars_array TSRMLS_DC PLS_DC);
+PHPAPI void php_register_variable_safe(char *var, char *val, int val_len, pval *track_vars_array TSRMLS_DC);
+PHPAPI void php_register_variable_ex(char *var, zval *val, pval *track_vars_array TSRMLS_DC);
#endif /* PHP_VARIABLES_H */
diff --git a/main/rfc1867.c b/main/rfc1867.c
index 1806b4f125..92615a4292 100644
--- a/main/rfc1867.c
+++ b/main/rfc1867.c
@@ -33,7 +33,7 @@
/* The longest property name we use in an uploaded file array */
#define MAX_SIZE_OF_INDEX sizeof("[tmp_name]")
-static void add_protected_variable(char *varname PLS_DC)
+static void add_protected_variable(char *varname TSRMLS_DC)
{
int dummy=1;
@@ -41,44 +41,44 @@ static void add_protected_variable(char *varname PLS_DC)
}
-static zend_bool is_protected_variable(char *varname PLS_DC)
+static zend_bool is_protected_variable(char *varname TSRMLS_DC)
{
return zend_hash_exists(&PG(rfc1867_protected_variables), varname, strlen(varname)+1);
}
-static void safe_php_register_variable(char *var, char *strval, zval *track_vars_array, zend_bool override_protection TSRMLS_DC PLS_DC)
+static void safe_php_register_variable(char *var, char *strval, zval *track_vars_array, zend_bool override_protection TSRMLS_DC)
{
- if (override_protection || !is_protected_variable(var PLS_CC)) {
- php_register_variable(var, strval, track_vars_array TSRMLS_CC PLS_CC);
+ if (override_protection || !is_protected_variable(var TSRMLS_CC)) {
+ php_register_variable(var, strval, track_vars_array TSRMLS_CC);
}
}
-static void safe_php_register_variable_ex(char *var, zval *val, pval *track_vars_array, zend_bool override_protection TSRMLS_DC PLS_DC)
+static void safe_php_register_variable_ex(char *var, zval *val, pval *track_vars_array, zend_bool override_protection TSRMLS_DC)
{
- if (override_protection || !is_protected_variable(var PLS_CC)) {
- php_register_variable_ex(var, val, track_vars_array TSRMLS_CC PLS_CC);
+ if (override_protection || !is_protected_variable(var TSRMLS_CC)) {
+ php_register_variable_ex(var, val, track_vars_array TSRMLS_CC);
}
}
-static void register_http_post_files_variable(char *strvar, char *val, zval *http_post_files, zend_bool override_protection TSRMLS_DC PLS_DC)
+static void register_http_post_files_variable(char *strvar, char *val, zval *http_post_files, zend_bool override_protection TSRMLS_DC)
{
int register_globals = PG(register_globals);
PG(register_globals) = 0;
- safe_php_register_variable(strvar, val, http_post_files, override_protection TSRMLS_CC PLS_CC);
+ safe_php_register_variable(strvar, val, http_post_files, override_protection TSRMLS_CC);
PG(register_globals) = register_globals;
}
-static void register_http_post_files_variable_ex(char *var, zval *val, zval *http_post_files, zend_bool override_protection TSRMLS_DC PLS_DC)
+static void register_http_post_files_variable_ex(char *var, zval *val, zval *http_post_files, zend_bool override_protection TSRMLS_DC)
{
int register_globals = PG(register_globals);
PG(register_globals) = 0;
- safe_php_register_variable_ex(var, val, http_post_files, override_protection TSRMLS_CC PLS_CC);
+ safe_php_register_variable_ex(var, val, http_post_files, override_protection TSRMLS_CC);
PG(register_globals) = register_globals;
}
@@ -90,7 +90,7 @@ static int unlink_filename(char **filename)
}
-void destroy_uploaded_files_hash(SLS_D)
+void destroy_uploaded_files_hash(TSRMLS_D)
{
zend_hash_apply(SG(rfc1867_uploaded_files), (apply_func_t) unlink_filename);
zend_hash_destroy(SG(rfc1867_uploaded_files));
@@ -100,7 +100,7 @@ void destroy_uploaded_files_hash(SLS_D)
/*
* Split raw mime stream up into appropriate components
*/
-static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr SLS_DC PLS_DC)
+static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr TSRMLS_DC)
{
char *ptr, *loc, *loc2, *loc3, *s, *name, *filename, *u, *temp_filename;
int len, state = 0, Done = 0, rem, urem;
@@ -113,7 +113,6 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
zval *http_post_files=NULL;
zend_bool upload_successful;
zend_bool magic_quotes_gpc;
- TSRMLS_FETCH();
zend_hash_init(&PG(rfc1867_protected_variables), 5, NULL, NULL, 0);
@@ -247,9 +246,9 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
}
s = strrchr(filenamebuf, '\\');
if (s && s > filenamebuf) {
- safe_php_register_variable(lbuf, s+1, NULL, 0 TSRMLS_CC PLS_CC);
+ safe_php_register_variable(lbuf, s+1, NULL, 0 TSRMLS_CC);
} else {
- safe_php_register_variable(lbuf, filenamebuf, NULL, 0 TSRMLS_CC PLS_CC);
+ safe_php_register_variable(lbuf, filenamebuf, NULL, 0 TSRMLS_CC);
}
/* Add $foo[name] */
@@ -259,9 +258,9 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
sprintf(lbuf, "%s[name]", namebuf);
}
if (s && s > filenamebuf) {
- register_http_post_files_variable(lbuf, s+1, http_post_files, 0 TSRMLS_CC PLS_CC);
+ register_http_post_files_variable(lbuf, s+1, http_post_files, 0 TSRMLS_CC);
} else {
- register_http_post_files_variable(lbuf, filenamebuf, http_post_files, 0 TSRMLS_CC PLS_CC);
+ register_http_post_files_variable(lbuf, filenamebuf, http_post_files, 0 TSRMLS_CC);
}
state = 3;
@@ -291,7 +290,7 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
} else {
sprintf(lbuf, "%s_type", namebuf);
}
- safe_php_register_variable(lbuf, s, NULL, 0 TSRMLS_CC PLS_CC);
+ safe_php_register_variable(lbuf, s, NULL, 0 TSRMLS_CC);
/* Add $foo[type] */
if (is_arr_upload) {
@@ -299,7 +298,7 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
} else {
sprintf(lbuf, "%s[type]", namebuf);
}
- register_http_post_files_variable(lbuf, s, http_post_files, 0 TSRMLS_CC PLS_CC);
+ register_http_post_files_variable(lbuf, s, http_post_files, 0 TSRMLS_CC);
if(*s != '\0') {
*(loc2 - 1) = '\n';
}
@@ -324,7 +323,7 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
/* Check to make sure we are not overwriting special file
* upload variables */
- safe_php_register_variable(namebuf, ptr, array_ptr, 0 TSRMLS_CC PLS_CC);
+ safe_php_register_variable(namebuf, ptr, array_ptr, 0 TSRMLS_CC);
/* And a little kludge to pick out special MAX_FILE_SIZE */
itype = php_check_ident_type(namebuf);
@@ -388,7 +387,7 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
upload_successful = 1;
}
fclose(fp);
- add_protected_variable(namebuf PLS_CC);
+ add_protected_variable(namebuf TSRMLS_CC);
if (!upload_successful) {
if(temp_filename) {
unlink(temp_filename);
@@ -401,15 +400,15 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
magic_quotes_gpc = PG(magic_quotes_gpc);
PG(magic_quotes_gpc) = 0;
- safe_php_register_variable(namebuf, temp_filename, NULL, 1 TSRMLS_CC PLS_CC);
+ safe_php_register_variable(namebuf, temp_filename, NULL, 1 TSRMLS_CC);
/* Add $foo[tmp_name] */
if(is_arr_upload) {
sprintf(lbuf, "%s[tmp_name][%s]", abuf, arr_index);
} else {
sprintf(lbuf, "%s[tmp_name]", namebuf);
}
- add_protected_variable(lbuf PLS_CC);
- register_http_post_files_variable(lbuf, temp_filename, http_post_files, 1 TSRMLS_CC PLS_CC);
+ add_protected_variable(lbuf TSRMLS_CC);
+ register_http_post_files_variable(lbuf, temp_filename, http_post_files, 1 TSRMLS_CC);
PG(magic_quotes_gpc) = magic_quotes_gpc;
{
@@ -424,7 +423,7 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
} else {
sprintf(lbuf, "%s_size", namebuf);
}
- safe_php_register_variable_ex(lbuf, &file_size, NULL, 0 TSRMLS_CC PLS_CC);
+ safe_php_register_variable_ex(lbuf, &file_size, NULL, 0 TSRMLS_CC);
/* Add $foo[size] */
if(is_arr_upload) {
@@ -432,7 +431,7 @@ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr S
} else {
sprintf(lbuf, "%s[size]", namebuf);
}
- register_http_post_files_variable_ex(lbuf, &file_size, http_post_files, 0 TSRMLS_CC PLS_CC);
+ register_http_post_files_variable_ex(lbuf, &file_size, http_post_files, 0 TSRMLS_CC);
}
state = 0;
rem -= (loc - ptr);
@@ -449,7 +448,6 @@ SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
char *boundary;
uint boundary_len;
zval *array_ptr = (zval *) arg;
- PLS_FETCH();
if (!PG(file_uploads)) {
php_error(E_WARNING, "File uploads are disabled");
@@ -471,7 +469,7 @@ SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
}
if (SG(request_info).post_data) {
- php_mime_split(SG(request_info).post_data, SG(request_info).post_data_length, boundary, array_ptr SLS_CC PLS_CC);
+ php_mime_split(SG(request_info).post_data, SG(request_info).post_data_length, boundary, array_ptr TSRMLS_CC);
}
}
diff --git a/main/rfc1867.h b/main/rfc1867.h
index 1bcba038ea..0e464760fa 100644
--- a/main/rfc1867.h
+++ b/main/rfc1867.h
@@ -10,6 +10,6 @@ SAPI_POST_HANDLER_FUNC(rfc1867_post_handler);
#define FILE_UPLOAD_INPUT_BUFFER_SIZE 8192
-void destroy_uploaded_files_hash(SLS_D);
+void destroy_uploaded_files_hash(TSRMLS_D);
#endif /* RFC1867_H */
diff --git a/main/safe_mode.c b/main/safe_mode.c
index c21e082468..fdf6f161de 100644
--- a/main/safe_mode.c
+++ b/main/safe_mode.c
@@ -50,7 +50,7 @@ PHPAPI int php_checkuid(const char *filename, char *fopen_mode, int mode)
long uid=0L, gid=0L, duid=0L, dgid=0L;
char path[MAXPATHLEN];
char *s;
- PLS_FETCH();
+ TSRMLS_FETCH();
if (!filename) {
return 0; /* path must be provided */
@@ -126,7 +126,7 @@ PHPAPI int php_checkuid(const char *filename, char *fopen_mode, int mode)
} else if (PG(safe_mode_gid) && dgid == php_getgid()) {
return 1;
} else {
- SLS_FETCH();
+ TSRMLS_FETCH();
if (SG(rfc1867_uploaded_files)) {
if (zend_hash_exists(SG(rfc1867_uploaded_files), (char *) filename, strlen(filename)+1)) {
@@ -156,7 +156,7 @@ PHPAPI char *php_get_current_user()
{
struct passwd *pwd;
struct stat *pstat;
- SLS_FETCH();
+ TSRMLS_FETCH();
if (SG(request_info).current_user) {
return SG(request_info).current_user;