cvs: php4 /sapi/apache php_apache.c
| From: | Rasmus Lerdorf | 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;
}
/* }}} */