]> granicus.if.org Git - php/commitdiff
ported fcgi
authorAnatol Belski <ab@php.net>
Tue, 19 Aug 2014 21:12:17 +0000 (23:12 +0200)
committerAnatol Belski <ab@php.net>
Tue, 19 Aug 2014 21:12:17 +0000 (23:12 +0200)
sapi/cgi/cgi_main.c
sapi/cgi/fastcgi.c

index ff3889dd6cc0c944986f7b408c5a16ce41c9b169..9d30b53cfc49e114924200b7281d9819f757685c 100644 (file)
@@ -274,7 +274,7 @@ static void print_extensions(TSRMLS_D)
 static inline size_t sapi_cgi_single_write(const char *str, 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;
@@ -287,10 +287,10 @@ 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 php_size_t sapi_cgi_ub_write(const char *str, php_size_t str_length TSRMLS_DC)
 {
        const char *ptr = str;
-       uint remaining = str_length;
+       php_size_t remaining = str_length;
        size_t ret;
 
        while (remaining > 0) {
@@ -306,14 +306,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 php_size_t sapi_fcgi_ub_write(const char *str, php_size_t str_length TSRMLS_DC)
 {
        const char *ptr = str;
-       uint remaining = str_length;
+       php_size_t 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();
@@ -505,9 +505,9 @@ 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 php_size_t sapi_cgi_read_post(char *buffer, php_size_t count_bytes TSRMLS_DC)
 {
-       uint read_bytes = 0;
+       php_size_t read_bytes = 0;
        int tmp_read_bytes;
 
        count_bytes = MIN(count_bytes, SG(request_info).content_length - SG(read_post_bytes));
@@ -521,9 +521,9 @@ 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 php_size_t sapi_fcgi_read_post(char *buffer, php_size_t count_bytes TSRMLS_DC)
 {
-       uint read_bytes = 0;
+       php_size_t read_bytes = 0;
        int tmp_read_bytes;
        fcgi_request *request = (fcgi_request*) SG(server_context);
        size_t remaining = SG(request_info).content_length - SG(read_post_bytes);
@@ -622,7 +622,7 @@ static void cgi_php_load_env_var(char *var, unsigned int var_len, char *val, uns
 {
        zval *array_ptr = (zval*)arg;   
        int filter_arg = (Z_ARR_P(array_ptr) == Z_ARR(PG(http_globals)[TRACK_VARS_ENV]))?PARSE_ENV:PARSE_SERVER;
-       unsigned int new_val_len;
+       php_size_t 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);
@@ -658,7 +658,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;
+       php_size_t php_self_len;
        char *php_self;
 
        /* In CGI mode, we consider the environment to be a part of the server
@@ -1184,7 +1184,7 @@ static void init_request_info(fcgi_request *request TSRMLS_DC)
 #endif
 
                if (CGIG(fix_pathinfo)) {
-                       struct stat st;
+                       php_stat_t st;
                        char *real_path = NULL;
                        char *env_redirect_url = CGI_GETENV("REDIRECT_URL");
                        char *env_document_root = CGI_GETENV("DOCUMENT_ROOT");
@@ -1238,7 +1238,7 @@ static void init_request_info(fcgi_request *request TSRMLS_DC)
 
                                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;
@@ -1587,7 +1587,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;
+               php_uint_t var_len;
 
                for (env = environ; env != NULL && *env != NULL; env++) {
                        val = strchr(*env, '=');
@@ -2416,7 +2416,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);
+                                                                       php_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);
                                                                }
                                                        }
index 6f1d18429b3114400c9aba974571f872fc109f1a..45f809f5b3faa9ef1c16edf06bbb974368f76718 100644 (file)
@@ -19,6 +19,7 @@
 /* $Id$ */
 
 #include "php.h"
+#include "php_network.h"
 #include "fastcgi.h"
 
 #include <string.h>