cvs: php4 /sapi/apache php_apache.c

From: Date: Sat, 22 Sep 2001 10:11:54 +0000
Subject: cvs: php4 /sapi/apache php_apache.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-7510@lists.php.net to get a copy of this message
rasmus Sat Sep 22 06:11:54 2001 EDT Modified files: /php4/sapi/apache php_apache.c Log: new apache_setenv() @- add apache_setenv() function for injecting variables into Apache's @ subprocess_env table. Index: php4/sapi/apache/php_apache.c diff -u php4/sapi/apache/php_apache.c:1.46 php4/sapi/apache/php_apache.c:1.47 --- php4/sapi/apache/php_apache.c:1.46 Sun Sep 9 09:29:29 2001 +++ php4/sapi/apache/php_apache.c Sat Sep 22 06:11:53 2001 @@ -17,7 +17,7 @@ | David Sklar <sklar@student.net> | +----------------------------------------------------------------------+ */ -/* $Id: php_apache.c,v 1.46 2001/09/09 13:29:29 derick Exp $ */ +/* $Id: php_apache.c,v 1.47 2001/09/22 10:11:53 rasmus Exp $ */ #define NO_REGEX_EXTRA_H @@ -68,6 +68,7 @@ PHP_FUNCTION(apache_note); PHP_FUNCTION(apache_lookup_uri); PHP_FUNCTION(apache_child_terminate); +PHP_FUNCTION(apache_setenv); PHP_MINFO_FUNCTION(apache); @@ -77,6 +78,7 @@ PHP_FE(apache_note, NULL) PHP_FE(apache_lookup_uri, NULL) PHP_FE(apache_child_terminate, NULL) + PHP_FE(apache_setenv, NULL) {NULL, NULL, NULL} }; @@ -354,6 +356,28 @@ RETURN_FALSE; } } +} +/* }}} */ + +/* {{{ proto int apache_setenv(string variable, string value [, boolean walk_to_top]) + Set an Apache subprocess_env variable */ +PHP_FUNCTION(apache_setenv) +{ + int var_len, val_len, top=0; + char *var = NULL, *val = NULL; + request_rec *r = (request_rec *) SG(server_context); + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|b", &var, &var_len, &val, &val_len, &top) == FAILURE) { + RETURN_FALSE; + } + + while(top) { + if(r->prev) r = r->prev; + else break; + } + + ap_table_setn(r->subprocess_env, ap_pstrndup(r->pool, var, var_len), ap_pstrndup(r->pool, val, val_len)); + RETURN_TRUE; } /* }}} */

« previous php.cvs (#7510) next »