Commit: 51003463ef0c67ff83e40cbbc66464c86a7e0feb
Author: Anatol Belski <a...@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) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php