com php-src: first shot for php-cgi for size_t and php_ int_t: main/SAPI.h sapi/cgi/cgi_main.c sapi/cgi /fastcgi.c sapi/cgi/fastcgi.h
sapi/cli/php_cli_serv er.c
| From: | Anatol Belski | Date: | Thu, 21 Nov 2013 12:26:56 +0000 |
| Subject: | com php-src: first shot for php-cgi for size_t and php_ int_t: main/SAPI.h sapi/cgi/cgi_main.c sapi/cgi /fastcgi.c sapi/cgi/fastcgi.h sapi/cli/php_cli_serv er.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-74014@lists.php.net to get a copy of this message | ||
Commit: 51003463ef0c67ff83e40cbbc66464c86a7e0feb
Author: Anatol Belski <ab@php.net> Thu, 21 Nov 2013 13:26:56 +0100
Parents: fb27e16f01a4b96deaec6eb237f26753ae2a27ee
Branches: str_size_and_int64
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=51003463ef0c67ff83e40cbbc66464c86a7e0feb
Log:
first shot for php-cgi for size_t and php_int_t
Changed paths:
M main/SAPI.h
M sapi/cgi/cgi_main.c
M sapi/cgi/fastcgi.c
M sapi/cgi/fastcgi.h
M sapi/cli/php_cli_server.c
diff --git a/main/SAPI.h b/main/SAPI.h index 124d0cc..7d27b65 100644 --- a/main/SAPI.h +++ b/main/SAPI.h @@ -237,7 +237,7 @@ struct _sapi_module_struct { int (*send_headers)(sapi_headers_struct *sapi_headers TSRMLS_DC); void (*send_header)(sapi_header_struct *sapi_header, void *server_context TSRMLS_DC); - zend_str_size_int (*read_post)(char *buffer, uint count_bytes TSRMLS_DC); + zend_str_size_int (*read_post)(char *buffer, zend_str_size_uint count_bytes TSRMLS_DC); char *(*read_cookies)(TSRMLS_D); void (*register_server_variables)(zval *track_vars_array TSRMLS_DC); diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index 422dabb..b1a703e 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -269,10 +269,10 @@ static void print_extensions(TSRMLS_D) #define STDOUT_FILENO 1 #endif -static inline size_t sapi_cgi_single_write(const char *str, uint str_length TSRMLS_DC) +static inline size_t sapi_cgi_single_write(const char *str, zend_str_size_uint str_length TSRMLS_DC) { #ifdef PHP_WRITE_STDOUT - long ret; + int ret; ret = write(STDOUT_FILENO, str, str_length); if (ret <= 0) return 0; @@ -285,11 +285,11 @@ static inline size_t sapi_cgi_single_write(const char *str, uint str_length TSRM #endif } -static int sapi_cgi_ub_write(const char *str, uint str_length TSRMLS_DC) +static zend_str_size_int sapi_cgi_ub_write(const char *str, zend_str_size_uint str_length TSRMLS_DC) { const char *ptr = str; - uint remaining = str_length; - size_t ret; + zend_str_size_uint remaining = str_length; + zend_str_size_int ret; while (remaining > 0) { ret = sapi_cgi_single_write(ptr, remaining TSRMLS_CC); @@ -304,14 +304,14 @@ static int sapi_cgi_ub_write(const char *str, uint str_length TSRMLS_DC) return str_length; } -static int sapi_fcgi_ub_write(const char *str, uint str_length TSRMLS_DC) +static zend_str_size_int sapi_fcgi_ub_write(const char *str, zend_str_size_uint str_length TSRMLS_DC) { const char *ptr = str; - uint remaining = str_length; + zend_str_size_uint remaining = str_length; fcgi_request *request = (fcgi_request*) SG(server_context); while (remaining > 0) { - long ret = fcgi_write(request, FCGI_STDOUT, ptr, remaining); + php_int_t ret = fcgi_write(request, FCGI_STDOUT, ptr, remaining); if (ret <= 0) { php_handle_aborted_connection(); @@ -503,14 +503,13 @@ static int sapi_cgi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC) # define STDIN_FILENO 0 #endif -static int sapi_cgi_read_post(char *buffer, uint count_bytes TSRMLS_DC) +static zend_str_size_int sapi_cgi_read_post(char *buffer, zend_str_size_uint count_bytes TSRMLS_DC) { - uint read_bytes = 0; - int tmp_read_bytes; + zend_str_size_uint read_bytes = 0; count_bytes = MIN(count_bytes, SG(request_info).content_length - SG(read_post_bytes)); while (read_bytes < count_bytes) { - tmp_read_bytes = read(STDIN_FILENO, buffer + read_bytes, count_bytes - read_bytes); + int tmp_read_bytes = read(STDIN_FILENO, buffer + read_bytes, count_bytes - read_bytes); if (tmp_read_bytes <= 0) { break; } @@ -519,7 +518,7 @@ static int sapi_cgi_read_post(char *buffer, uint count_bytes TSRMLS_DC) return read_bytes; } -static int sapi_fcgi_read_post(char *buffer, uint count_bytes TSRMLS_DC) +static zend_str_size_int sapi_fcgi_read_post(char *buffer, zend_str_size_uint count_bytes TSRMLS_DC) { uint read_bytes = 0; int tmp_read_bytes; @@ -616,11 +615,11 @@ static char *sapi_fcgi_read_cookies(TSRMLS_D) return FCGI_GETENV(request, "HTTP_COOKIE"); } -static void cgi_php_load_env_var(char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg TSRMLS_DC) +static void cgi_php_load_env_var(char *var, zend_str_size_uint var_len, char *val, zend_str_size_uint val_len, void *arg TSRMLS_DC) { zval *array_ptr = (zval*)arg; int filter_arg = (array_ptr == PG(http_globals)[TRACK_VARS_ENV])?PARSE_ENV:PARSE_SERVER; - unsigned int new_val_len; + zend_str_size_uint new_val_len; if (sapi_module.input_filter(filter_arg, var, &val, strlen(val), &new_val_len TSRMLS_CC)) { php_register_variable_safe(var, val, new_val_len, array_ptr TSRMLS_CC); @@ -662,7 +661,7 @@ static void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC) static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC) { - unsigned int php_self_len; + zend_str_size_uint php_self_len; char *php_self; /* In CGI mode, we consider the environment to be a part of the server @@ -685,10 +684,10 @@ static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC) } if (path_info) { - unsigned int path_info_len = strlen(path_info); + zend_str_size_uint path_info_len = strlen(path_info); if (script_name) { - unsigned int script_name_len = strlen(script_name); + zend_str_size_uint script_name_len = strlen(script_name); php_self_len = script_name_len + path_info_len; php_self = do_alloca(php_self_len + 1, use_heap); @@ -733,7 +732,7 @@ static void sapi_cgi_log_message(char *message TSRMLS_DC) request = (fcgi_request*) SG(server_context); if (request) { - int len = strlen(message); + zend_str_size_int len = strlen(message); char *buf = malloc(len+2); memcpy(buf, message, len); @@ -751,7 +750,7 @@ static void sapi_cgi_log_message(char *message TSRMLS_DC) /* {{{ php_cgi_ini_activate_user_config */ -static void php_cgi_ini_activate_user_config(char *path, int path_len, const char *doc_root, int doc_root_len, int start TSRMLS_DC) +static void php_cgi_ini_activate_user_config(char *path, zend_str_size_int path_len, const char *doc_root, zend_str_size_int doc_root_len, zend_str_size_int start TSRMLS_DC) { char *ptr; user_config_cache_entry *new_entry, *entry; @@ -770,9 +769,9 @@ static void php_cgi_ini_activate_user_config(char *path, int path_len, const cha /* Check whether cache entry has expired and rescan if it is */ if (request_time > entry->expires) { char *real_path = NULL; - int real_path_len; + zend_str_size_int real_path_len; char *s1, *s2; - int s_len; + zend_str_size_int s_len; /* Clear the expired config */ zend_hash_clean(entry->user_config); @@ -831,7 +830,7 @@ static void php_cgi_ini_activate_user_config(char *path, int path_len, const cha static int sapi_cgi_activate(TSRMLS_D) { char *path, *doc_root, *server_name; - uint path_len, doc_root_len, server_name_len; + zend_str_size_uint path_len, doc_root_len, server_name_len; /* PATH_TRANSLATED should be defined at this stage but better safe than sorry :) */ if (!SG(request_info).path_translated) { @@ -1197,7 +1196,7 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) char *orig_path_info = env_path_info; char *orig_script_name = env_script_name; char *orig_script_filename = env_script_filename; - int script_path_translated_len; + zend_str_size_int script_path_translated_len; if (!env_document_root && PG(doc_root)) { env_document_root = CGI_PUTENV("DOCUMENT_ROOT", PG(doc_root)); @@ -1238,12 +1237,12 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) (real_path = tsrm_realpath(script_path_translated, NULL TSRMLS_CC)) == NULL) ) { char *pt = estrndup(script_path_translated, script_path_translated_len); - int len = script_path_translated_len; + zend_str_size_int len = script_path_translated_len; char *ptr; while ((ptr = strrchr(pt, '/')) || (ptr = strrchr(pt, '\\'))) { *ptr = 0; - if (stat(pt, &st) == 0 && S_ISREG(st.st_mode)) { + if (zend_stat(pt, &st) == 0 && S_ISREG(st.st_mode)) { /* * okay, we found the base script! * work out how many chars we had to strip off; @@ -1259,8 +1258,8 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) * we have to play the game of hide and seek to figure * out what SCRIPT_NAME should be */ - int slen = len - strlen(pt); - int pilen = env_path_info ? strlen(env_path_info) : 0; + zend_str_size_int slen = len - strlen(pt); + zend_str_size_int pilen = env_path_info ? strlen(env_path_info) : 0; char *path_info = env_path_info ? env_path_info + pilen - slen : NULL; if (orig_path_info != path_info) { @@ -1296,8 +1295,8 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) * SCRIPT_FILENAME minus SCRIPT_NAME */ if (env_document_root) { - int l = strlen(env_document_root); - int path_translated_len = 0; + zend_str_size_int l = strlen(env_document_root); + zend_str_size_int path_translated_len = 0; char *path_translated = NULL; if (l && env_document_root[l - 1] == '/') { @@ -1326,8 +1325,8 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) strstr(pt, env_script_name) ) { /* PATH_TRANSLATED = PATH_TRANSLATED - SCRIPT_NAME + PATH_INFO */ - int ptlen = strlen(pt) - strlen(env_script_name); - int path_translated_len = ptlen + (env_path_info ? strlen(env_path_info) : 0); + zend_str_size_int ptlen = strlen(pt) - strlen(env_script_name); + zend_str_size_int path_translated_len = ptlen + (env_path_info ? strlen(env_path_info) : 0); char *path_translated = NULL; path_translated = (char *) emalloc(path_translated_len + 1); @@ -1530,7 +1529,7 @@ PHP_FUNCTION(apache_child_terminate) /* {{{ */ } /* }}} */ -static void add_request_header(char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg TSRMLS_DC) /* {{{ */ +static void add_request_header(char *var, zend_str_size_uint var_len, char *val, zend_str_size_uint val_len, void *arg TSRMLS_DC) /* {{{ */ { zval *return_value = (zval*)arg; char *str = NULL; @@ -1592,7 +1591,7 @@ PHP_FUNCTION(apache_request_headers) /* {{{ */ char buf[128]; char **env, *p, *q, *var, *val, *t = buf; size_t alloc_size = sizeof(buf); - unsigned long var_len; + zend_str_size var_len; for (env = environ; env != NULL && *env != NULL; env++) { val = strchr(*env, '='); @@ -1664,7 +1663,7 @@ PHP_FUNCTION(apache_request_headers) /* {{{ */ static void add_response_header(sapi_header_struct *h, zval *return_value TSRMLS_DC) /* {{{ */ { char *s, *p; - int len; + php_int_t len; ALLOCA_FLAG(use_heap) if (h->header_len > 0) { @@ -1743,7 +1742,7 @@ int main(int argc, char *argv[]) int orig_optind = php_optind; char *orig_optarg = php_optarg; char *script_file = NULL; - int ini_entries_len = 0; + zend_str_size_int ini_entries_len = 0; /* end of temporary locals */ #ifdef ZTS @@ -1846,7 +1845,7 @@ int main(int argc, char *argv[]) break; case 'd': { /* define ini entries on command line */ - int len = strlen(php_optarg); + zend_str_size_int len = strlen(php_optarg); char *val; if ((val = strchr(php_optarg, '='))) { @@ -2281,7 +2280,7 @@ consult the installation file that came with this distribution, or visit \n\ * test.php v1=test "v2=hello world!" */ if (!SG(request_info).query_string && argc > php_optind) { - int slen = strlen(PG(arg_separator).input); + zend_str_size_int slen = strlen(PG(arg_separator).input); len = 0; for (i = php_optind; i < argc; i++) { if (i < (argc - 1)) { @@ -2421,7 +2420,7 @@ consult the installation file that came with this distribution, or visit \n\ /* handle situations where line is terminated by \r\n */ if (c == '\r') { if (php_stream_getc((php_stream*)file_handle.handle.stream.handle) != '\n') { - long pos = php_stream_tell((php_stream*)file_handle.handle.stream.handle); + zend_off_t pos = php_stream_tell((php_stream*)file_handle.handle.stream.handle); php_stream_seek((php_stream*)file_handle.handle.stream.handle, pos - 1, SEEK_SET); } } diff --git a/sapi/cgi/fastcgi.c b/sapi/cgi/fastcgi.c index 296c170..3234437 100644 --- a/sapi/cgi/fastcgi.c +++ b/sapi/cgi/fastcgi.c @@ -149,9 +149,9 @@ static in_addr_t *allowed_clients = NULL; typedef struct _fcgi_hash_bucket { unsigned int hash_value; - unsigned int var_len; + zend_str_size_uint var_len; char *var; - unsigned int val_len; + zend_str_size_uint val_len; char *val; struct _fcgi_hash_bucket *next; struct _fcgi_hash_bucket *list_next; @@ -821,9 +821,9 @@ static inline ssize_t safe_read(fcgi_request *req, const void *buf, size_t count return n; } -static inline int fcgi_make_header(fcgi_header *hdr, fcgi_request_type type, int req_id, int len) +static inline int fcgi_make_header(fcgi_header *hdr, fcgi_request_type type, int req_id, zend_str_size_int len) { - int pad = ((len + 7) & ~7) - len; + int pad = (((int)len + 7) & ~7) - (int)len; hdr->contentLengthB0 = (unsigned char)(len & 0xff); hdr->contentLengthB1 = (unsigned char)((len >> 8) & 0xff); @@ -841,7 +841,7 @@ static inline int fcgi_make_header(fcgi_header *hdr, fcgi_request_type type, int static int fcgi_get_params(fcgi_request *req, unsigned char *p, unsigned char *end) { - unsigned int name_len, val_len; + zend_str_size_uint name_len, val_len; while (p < end) { name_len = *p++; @@ -861,7 +861,7 @@ static int fcgi_get_params(fcgi_request *req, unsigned char *p, unsigned char *e val_len |= (*p++ << 8); val_len |= *p++; } - if (UNEXPECTED(name_len + val_len > (unsigned int) (end - p))) { + if (UNEXPECTED(name_len + val_len > (zend_str_size_uint) (end - p))) { /* Malformated request */ return 0; } @@ -874,7 +874,7 @@ static int fcgi_get_params(fcgi_request *req, unsigned char *p, unsigned char *e static int fcgi_read_request(fcgi_request *req) { fcgi_header hdr; - int len, padding; + zend_str_size_int len, padding; unsigned char buf[FCGI_MAX_LENGTH+8]; req->keep = 0; @@ -974,7 +974,7 @@ static int fcgi_read_request(fcgi_request *req) } else if (hdr.type == FCGI_GET_VALUES) { unsigned char *p = buf + sizeof(fcgi_header); zval ** value; - unsigned int zlen; + zend_str_size_uint zlen; fcgi_hash_bucket *q; if (safe_read(req, buf, len+padding) != len+padding) { @@ -1031,7 +1031,7 @@ static int fcgi_read_request(fcgi_request *req) return 1; } -int fcgi_read(fcgi_request *req, char *str, int len) +int fcgi_read(fcgi_request *req, char *str, zend_str_size_int len) { int ret, n, rest; fcgi_header hdr; @@ -1292,7 +1292,7 @@ static inline fcgi_header* open_packet(fcgi_request *req, fcgi_request_type type static inline void close_packet(fcgi_request *req) { if (req->out_hdr) { - int len = req->out_pos - ((unsigned char*)req->out_hdr + sizeof(fcgi_header)); + ptrdiff_t len = req->out_pos - ((unsigned char*)req->out_hdr + sizeof(fcgi_header)); req->out_pos += fcgi_make_header(req->out_hdr, (fcgi_request_type)req->out_hdr->type, req->id, len); req->out_hdr = NULL; @@ -1301,7 +1301,7 @@ static inline void close_packet(fcgi_request *req) int fcgi_flush(fcgi_request *req, int close) { - int len; + ptrdiff_t len; close_packet(req); @@ -1328,9 +1328,9 @@ int fcgi_flush(fcgi_request *req, int close) return 1; } -int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int len) +php_int_t fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, php_int_t len) { - int limit, rest; + php_int_t limit, rest; if (len <= 0) { return 0; @@ -1399,8 +1399,8 @@ int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int l req->out_pos += len - limit; } } else { - int pos = 0; - int pad; + php_int_t pos = 0; + php_int_t pad; close_packet(req); while ((len - pos) > 0xffff) { @@ -1454,7 +1454,7 @@ int fcgi_finish_request(fcgi_request *req, int force_close) return ret; } -char* fcgi_getenv(fcgi_request *req, const char* var, int var_len) +char* fcgi_getenv(fcgi_request *req, const char* var, zend_str_size_int var_len) { unsigned int val_len; diff --git a/sapi/cgi/fastcgi.h b/sapi/cgi/fastcgi.h index f1f464d..cfd7e4e 100644 --- a/sapi/cgi/fastcgi.h +++ b/sapi/cgi/fastcgi.h @@ -108,7 +108,7 @@ typedef struct _fcgi_end_request_rec { /* FastCGI client API */ -typedef void (*fcgi_apply_func)(char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg TSRMLS_DC); +typedef void (*fcgi_apply_func)(char *var, zend_str_size_uint var_len, char *val, zend_str_size_uint val_len, void *arg TSRMLS_DC); typedef struct _fcgi_request fcgi_request; @@ -123,15 +123,15 @@ void fcgi_destroy_request(fcgi_request *req); int fcgi_accept_request(fcgi_request *req); int fcgi_finish_request(fcgi_request *req, int force_close); -char* fcgi_getenv(fcgi_request *req, const char* var, int var_len); +char* fcgi_getenv(fcgi_request *req, const char* var, zend_str_size_int var_len); char* fcgi_putenv(fcgi_request *req, char* var, int var_len, char* val); char* fcgi_quick_getenv(fcgi_request *req, const char* var, int var_len, unsigned int hash_value); char* fcgi_quick_putenv(fcgi_request *req, char* var, int var_len, unsigned int hash_value, char* val); void fcgi_loadenv(fcgi_request *req, fcgi_apply_func load_func, zval *array TSRMLS_DC); -int fcgi_read(fcgi_request *req, char *str, int len); +int fcgi_read(fcgi_request *req, char *str, zend_str_size_int len); -int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int len); +php_int_t fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, php_int_t len); int fcgi_flush(fcgi_request *req, int close); #ifdef PHP_WIN32 diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index cc133a7..ee7b668 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -687,7 +687,7 @@ static char *sapi_cli_server_read_cookies(TSRMLS_D) /* {{{ */ return *val; } /* }}} */ -static zend_str_size_int sapi_cli_server_read_post(char *buf, uint count_bytes TSRMLS_DC) /* {{{ */ +static zend_str_size_int sapi_cli_server_read_post(char *buf, zend_str_size_uint count_bytes TSRMLS_DC) /* {{{ */ { php_cli_server_client *client = SG(server_context); if (client->request.content) {
diff --git a/main/SAPI.h b/main/SAPI.h index 124d0cc..7d27b65 100644 --- a/main/SAPI.h +++ b/main/SAPI.h @@ -237,7 +237,7 @@ struct _sapi_module_struct { int (*send_headers)(sapi_headers_struct *sapi_headers TSRMLS_DC); void (*send_header)(sapi_header_struct *sapi_header, void *server_context TSRMLS_DC); - zend_str_size_int (*read_post)(char *buffer, uint count_bytes TSRMLS_DC); + zend_str_size_int (*read_post)(char *buffer, zend_str_size_uint count_bytes TSRMLS_DC); char *(*read_cookies)(TSRMLS_D); void (*register_server_variables)(zval *track_vars_array TSRMLS_DC); diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index 422dabb..b1a703e 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -269,10 +269,10 @@ static void print_extensions(TSRMLS_D) #define STDOUT_FILENO 1 #endif -static inline size_t sapi_cgi_single_write(const char *str, uint str_length TSRMLS_DC) +static inline size_t sapi_cgi_single_write(const char *str, zend_str_size_uint str_length TSRMLS_DC) { #ifdef PHP_WRITE_STDOUT - long ret; + int ret; ret = write(STDOUT_FILENO, str, str_length); if (ret <= 0) return 0; @@ -285,11 +285,11 @@ static inline size_t sapi_cgi_single_write(const char *str, uint str_length TSRM #endif } -static int sapi_cgi_ub_write(const char *str, uint str_length TSRMLS_DC) +static zend_str_size_int sapi_cgi_ub_write(const char *str, zend_str_size_uint str_length TSRMLS_DC) { const char *ptr = str; - uint remaining = str_length; - size_t ret; + zend_str_size_uint remaining = str_length; + zend_str_size_int ret; while (remaining > 0) { ret = sapi_cgi_single_write(ptr, remaining TSRMLS_CC); @@ -304,14 +304,14 @@ static int sapi_cgi_ub_write(const char *str, uint str_length TSRMLS_DC) return str_length; } -static int sapi_fcgi_ub_write(const char *str, uint str_length TSRMLS_DC) +static zend_str_size_int sapi_fcgi_ub_write(const char *str, zend_str_size_uint str_length TSRMLS_DC) { const char *ptr = str; - uint remaining = str_length; + zend_str_size_uint remaining = str_length; fcgi_request *request = (fcgi_request*) SG(server_context); while (remaining > 0) { - long ret = fcgi_write(request, FCGI_STDOUT, ptr, remaining); + php_int_t ret = fcgi_write(request, FCGI_STDOUT, ptr, remaining); if (ret <= 0) { php_handle_aborted_connection(); @@ -503,14 +503,13 @@ static int sapi_cgi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC) # define STDIN_FILENO 0 #endif -static int sapi_cgi_read_post(char *buffer, uint count_bytes TSRMLS_DC) +static zend_str_size_int sapi_cgi_read_post(char *buffer, zend_str_size_uint count_bytes TSRMLS_DC) { - uint read_bytes = 0; - int tmp_read_bytes; + zend_str_size_uint read_bytes = 0; count_bytes = MIN(count_bytes, SG(request_info).content_length - SG(read_post_bytes)); while (read_bytes < count_bytes) { - tmp_read_bytes = read(STDIN_FILENO, buffer + read_bytes, count_bytes - read_bytes); + int tmp_read_bytes = read(STDIN_FILENO, buffer + read_bytes, count_bytes - read_bytes); if (tmp_read_bytes <= 0) { break; } @@ -519,7 +518,7 @@ static int sapi_cgi_read_post(char *buffer, uint count_bytes TSRMLS_DC) return read_bytes; } -static int sapi_fcgi_read_post(char *buffer, uint count_bytes TSRMLS_DC) +static zend_str_size_int sapi_fcgi_read_post(char *buffer, zend_str_size_uint count_bytes TSRMLS_DC) { uint read_bytes = 0; int tmp_read_bytes; @@ -616,11 +615,11 @@ static char *sapi_fcgi_read_cookies(TSRMLS_D) return FCGI_GETENV(request, "HTTP_COOKIE"); } -static void cgi_php_load_env_var(char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg TSRMLS_DC) +static void cgi_php_load_env_var(char *var, zend_str_size_uint var_len, char *val, zend_str_size_uint val_len, void *arg TSRMLS_DC) { zval *array_ptr = (zval*)arg; int filter_arg = (array_ptr == PG(http_globals)[TRACK_VARS_ENV])?PARSE_ENV:PARSE_SERVER; - unsigned int new_val_len; + zend_str_size_uint new_val_len; if (sapi_module.input_filter(filter_arg, var, &val, strlen(val), &new_val_len TSRMLS_CC)) { php_register_variable_safe(var, val, new_val_len, array_ptr TSRMLS_CC); @@ -662,7 +661,7 @@ static void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC) static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC) { - unsigned int php_self_len; + zend_str_size_uint php_self_len; char *php_self; /* In CGI mode, we consider the environment to be a part of the server @@ -685,10 +684,10 @@ static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC) } if (path_info) { - unsigned int path_info_len = strlen(path_info); + zend_str_size_uint path_info_len = strlen(path_info); if (script_name) { - unsigned int script_name_len = strlen(script_name); + zend_str_size_uint script_name_len = strlen(script_name); php_self_len = script_name_len + path_info_len; php_self = do_alloca(php_self_len + 1, use_heap); @@ -733,7 +732,7 @@ static void sapi_cgi_log_message(char *message TSRMLS_DC) request = (fcgi_request*) SG(server_context); if (request) { - int len = strlen(message); + zend_str_size_int len = strlen(message); char *buf = malloc(len+2); memcpy(buf, message, len); @@ -751,7 +750,7 @@ static void sapi_cgi_log_message(char *message TSRMLS_DC) /* {{{ php_cgi_ini_activate_user_config */ -static void php_cgi_ini_activate_user_config(char *path, int path_len, const char *doc_root, int doc_root_len, int start TSRMLS_DC) +static void php_cgi_ini_activate_user_config(char *path, zend_str_size_int path_len, const char *doc_root, zend_str_size_int doc_root_len, zend_str_size_int start TSRMLS_DC) { char *ptr; user_config_cache_entry *new_entry, *entry; @@ -770,9 +769,9 @@ static void php_cgi_ini_activate_user_config(char *path, int path_len, const cha /* Check whether cache entry has expired and rescan if it is */ if (request_time > entry->expires) { char *real_path = NULL; - int real_path_len; + zend_str_size_int real_path_len; char *s1, *s2; - int s_len; + zend_str_size_int s_len; /* Clear the expired config */ zend_hash_clean(entry->user_config); @@ -831,7 +830,7 @@ static void php_cgi_ini_activate_user_config(char *path, int path_len, const cha static int sapi_cgi_activate(TSRMLS_D) { char *path, *doc_root, *server_name; - uint path_len, doc_root_len, server_name_len; + zend_str_size_uint path_len, doc_root_len, server_name_len; /* PATH_TRANSLATED should be defined at this stage but better safe than sorry :) */ if (!SG(request_info).path_translated) { @@ -1197,7 +1196,7 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) char *orig_path_info = env_path_info; char *orig_script_name = env_script_name; char *orig_script_filename = env_script_filename; - int script_path_translated_len; + zend_str_size_int script_path_translated_len; if (!env_document_root && PG(doc_root)) { env_document_root = CGI_PUTENV("DOCUMENT_ROOT", PG(doc_root)); @@ -1238,12 +1237,12 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) (real_path = tsrm_realpath(script_path_translated, NULL TSRMLS_CC)) == NULL) ) { char *pt = estrndup(script_path_translated, script_path_translated_len); - int len = script_path_translated_len; + zend_str_size_int len = script_path_translated_len; char *ptr; while ((ptr = strrchr(pt, '/')) || (ptr = strrchr(pt, '\\'))) { *ptr = 0; - if (stat(pt, &st) == 0 && S_ISREG(st.st_mode)) { + if (zend_stat(pt, &st) == 0 && S_ISREG(st.st_mode)) { /* * okay, we found the base script! * work out how many chars we had to strip off; @@ -1259,8 +1258,8 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) * we have to play the game of hide and seek to figure * out what SCRIPT_NAME should be */ - int slen = len - strlen(pt); - int pilen = env_path_info ? strlen(env_path_info) : 0; + zend_str_size_int slen = len - strlen(pt); + zend_str_size_int pilen = env_path_info ? strlen(env_path_info) : 0; char *path_info = env_path_info ? env_path_info + pilen - slen : NULL; if (orig_path_info != path_info) { @@ -1296,8 +1295,8 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) * SCRIPT_FILENAME minus SCRIPT_NAME */ if (env_document_root) { - int l = strlen(env_document_root); - int path_translated_len = 0; + zend_str_size_int l = strlen(env_document_root); + zend_str_size_int path_translated_len = 0; char *path_translated = NULL; if (l && env_document_root[l - 1] == '/') { @@ -1326,8 +1325,8 @@ static void init_request_info(fcgi_request *request TSRMLS_DC) strstr(pt, env_script_name) ) { /* PATH_TRANSLATED = PATH_TRANSLATED - SCRIPT_NAME + PATH_INFO */ - int ptlen = strlen(pt) - strlen(env_script_name); - int path_translated_len = ptlen + (env_path_info ? strlen(env_path_info) : 0); + zend_str_size_int ptlen = strlen(pt) - strlen(env_script_name); + zend_str_size_int path_translated_len = ptlen + (env_path_info ? strlen(env_path_info) : 0); char *path_translated = NULL; path_translated = (char *) emalloc(path_translated_len + 1); @@ -1530,7 +1529,7 @@ PHP_FUNCTION(apache_child_terminate) /* {{{ */ } /* }}} */ -static void add_request_header(char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg TSRMLS_DC) /* {{{ */ +static void add_request_header(char *var, zend_str_size_uint var_len, char *val, zend_str_size_uint val_len, void *arg TSRMLS_DC) /* {{{ */ { zval *return_value = (zval*)arg; char *str = NULL; @@ -1592,7 +1591,7 @@ PHP_FUNCTION(apache_request_headers) /* {{{ */ char buf[128]; char **env, *p, *q, *var, *val, *t = buf; size_t alloc_size = sizeof(buf); - unsigned long var_len; + zend_str_size var_len; for (env = environ; env != NULL && *env != NULL; env++) { val = strchr(*env, '='); @@ -1664,7 +1663,7 @@ PHP_FUNCTION(apache_request_headers) /* {{{ */ static void add_response_header(sapi_header_struct *h, zval *return_value TSRMLS_DC) /* {{{ */ { char *s, *p; - int len; + php_int_t len; ALLOCA_FLAG(use_heap) if (h->header_len > 0) { @@ -1743,7 +1742,7 @@ int main(int argc, char *argv[]) int orig_optind = php_optind; char *orig_optarg = php_optarg; char *script_file = NULL; - int ini_entries_len = 0; + zend_str_size_int ini_entries_len = 0; /* end of temporary locals */ #ifdef ZTS @@ -1846,7 +1845,7 @@ int main(int argc, char *argv[]) break; case 'd': { /* define ini entries on command line */ - int len = strlen(php_optarg); + zend_str_size_int len = strlen(php_optarg); char *val; if ((val = strchr(php_optarg, '='))) { @@ -2281,7 +2280,7 @@ consult the installation file that came with this distribution, or visit \n\ * test.php v1=test "v2=hello world!" */ if (!SG(request_info).query_string && argc > php_optind) { - int slen = strlen(PG(arg_separator).input); + zend_str_size_int slen = strlen(PG(arg_separator).input); len = 0; for (i = php_optind; i < argc; i++) { if (i < (argc - 1)) { @@ -2421,7 +2420,7 @@ consult the installation file that came with this distribution, or visit \n\ /* handle situations where line is terminated by \r\n */ if (c == '\r') { if (php_stream_getc((php_stream*)file_handle.handle.stream.handle) != '\n') { - long pos = php_stream_tell((php_stream*)file_handle.handle.stream.handle); + zend_off_t pos = php_stream_tell((php_stream*)file_handle.handle.stream.handle); php_stream_seek((php_stream*)file_handle.handle.stream.handle, pos - 1, SEEK_SET); } } diff --git a/sapi/cgi/fastcgi.c b/sapi/cgi/fastcgi.c index 296c170..3234437 100644 --- a/sapi/cgi/fastcgi.c +++ b/sapi/cgi/fastcgi.c @@ -149,9 +149,9 @@ static in_addr_t *allowed_clients = NULL; typedef struct _fcgi_hash_bucket { unsigned int hash_value; - unsigned int var_len; + zend_str_size_uint var_len; char *var; - unsigned int val_len; + zend_str_size_uint val_len; char *val; struct _fcgi_hash_bucket *next; struct _fcgi_hash_bucket *list_next; @@ -821,9 +821,9 @@ static inline ssize_t safe_read(fcgi_request *req, const void *buf, size_t count return n; } -static inline int fcgi_make_header(fcgi_header *hdr, fcgi_request_type type, int req_id, int len) +static inline int fcgi_make_header(fcgi_header *hdr, fcgi_request_type type, int req_id, zend_str_size_int len) { - int pad = ((len + 7) & ~7) - len; + int pad = (((int)len + 7) & ~7) - (int)len; hdr->contentLengthB0 = (unsigned char)(len & 0xff); hdr->contentLengthB1 = (unsigned char)((len >> 8) & 0xff); @@ -841,7 +841,7 @@ static inline int fcgi_make_header(fcgi_header *hdr, fcgi_request_type type, int static int fcgi_get_params(fcgi_request *req, unsigned char *p, unsigned char *end) { - unsigned int name_len, val_len; + zend_str_size_uint name_len, val_len; while (p < end) { name_len = *p++; @@ -861,7 +861,7 @@ static int fcgi_get_params(fcgi_request *req, unsigned char *p, unsigned char *e val_len |= (*p++ << 8); val_len |= *p++; } - if (UNEXPECTED(name_len + val_len > (unsigned int) (end - p))) { + if (UNEXPECTED(name_len + val_len > (zend_str_size_uint) (end - p))) { /* Malformated request */ return 0; } @@ -874,7 +874,7 @@ static int fcgi_get_params(fcgi_request *req, unsigned char *p, unsigned char *e static int fcgi_read_request(fcgi_request *req) { fcgi_header hdr; - int len, padding; + zend_str_size_int len, padding; unsigned char buf[FCGI_MAX_LENGTH+8]; req->keep = 0; @@ -974,7 +974,7 @@ static int fcgi_read_request(fcgi_request *req) } else if (hdr.type == FCGI_GET_VALUES) { unsigned char *p = buf + sizeof(fcgi_header); zval ** value; - unsigned int zlen; + zend_str_size_uint zlen; fcgi_hash_bucket *q; if (safe_read(req, buf, len+padding) != len+padding) { @@ -1031,7 +1031,7 @@ static int fcgi_read_request(fcgi_request *req) return 1; } -int fcgi_read(fcgi_request *req, char *str, int len) +int fcgi_read(fcgi_request *req, char *str, zend_str_size_int len) { int ret, n, rest; fcgi_header hdr; @@ -1292,7 +1292,7 @@ static inline fcgi_header* open_packet(fcgi_request *req, fcgi_request_type type static inline void close_packet(fcgi_request *req) { if (req->out_hdr) { - int len = req->out_pos - ((unsigned char*)req->out_hdr + sizeof(fcgi_header)); + ptrdiff_t len = req->out_pos - ((unsigned char*)req->out_hdr + sizeof(fcgi_header)); req->out_pos += fcgi_make_header(req->out_hdr, (fcgi_request_type)req->out_hdr->type, req->id, len); req->out_hdr = NULL; @@ -1301,7 +1301,7 @@ static inline void close_packet(fcgi_request *req) int fcgi_flush(fcgi_request *req, int close) { - int len; + ptrdiff_t len; close_packet(req); @@ -1328,9 +1328,9 @@ int fcgi_flush(fcgi_request *req, int close) return 1; } -int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int len) +php_int_t fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, php_int_t len) { - int limit, rest; + php_int_t limit, rest; if (len <= 0) { return 0; @@ -1399,8 +1399,8 @@ int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int l req->out_pos += len - limit; } } else { - int pos = 0; - int pad; + php_int_t pos = 0; + php_int_t pad; close_packet(req); while ((len - pos) > 0xffff) { @@ -1454,7 +1454,7 @@ int fcgi_finish_request(fcgi_request *req, int force_close) return ret; } -char* fcgi_getenv(fcgi_request *req, const char* var, int var_len) +char* fcgi_getenv(fcgi_request *req, const char* var, zend_str_size_int var_len) { unsigned int val_len; diff --git a/sapi/cgi/fastcgi.h b/sapi/cgi/fastcgi.h index f1f464d..cfd7e4e 100644 --- a/sapi/cgi/fastcgi.h +++ b/sapi/cgi/fastcgi.h @@ -108,7 +108,7 @@ typedef struct _fcgi_end_request_rec { /* FastCGI client API */ -typedef void (*fcgi_apply_func)(char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg TSRMLS_DC); +typedef void (*fcgi_apply_func)(char *var, zend_str_size_uint var_len, char *val, zend_str_size_uint val_len, void *arg TSRMLS_DC); typedef struct _fcgi_request fcgi_request; @@ -123,15 +123,15 @@ void fcgi_destroy_request(fcgi_request *req); int fcgi_accept_request(fcgi_request *req); int fcgi_finish_request(fcgi_request *req, int force_close); -char* fcgi_getenv(fcgi_request *req, const char* var, int var_len); +char* fcgi_getenv(fcgi_request *req, const char* var, zend_str_size_int var_len); char* fcgi_putenv(fcgi_request *req, char* var, int var_len, char* val); char* fcgi_quick_getenv(fcgi_request *req, const char* var, int var_len, unsigned int hash_value); char* fcgi_quick_putenv(fcgi_request *req, char* var, int var_len, unsigned int hash_value, char* val); void fcgi_loadenv(fcgi_request *req, fcgi_apply_func load_func, zval *array TSRMLS_DC); -int fcgi_read(fcgi_request *req, char *str, int len); +int fcgi_read(fcgi_request *req, char *str, zend_str_size_int len); -int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int len); +php_int_t fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, php_int_t len); int fcgi_flush(fcgi_request *req, int close); #ifdef PHP_WIN32 diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index cc133a7..ee7b668 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -687,7 +687,7 @@ static char *sapi_cli_server_read_cookies(TSRMLS_D) /* {{{ */ return *val; } /* }}} */ -static zend_str_size_int sapi_cli_server_read_post(char *buf, uint count_bytes TSRMLS_DC) /* {{{ */ +static zend_str_size_int sapi_cli_server_read_post(char *buf, zend_str_size_uint count_bytes TSRMLS_DC) /* {{{ */ { php_cli_server_client *client = SG(server_context); if (client->request.content) {