cvs: php4(PHP_4_3) /main main.c
| From: | Ilia Alshanetsky | Date: | Mon, 16 Dec 2002 15:44:20 +0000 |
| Subject: | cvs: php4(PHP_4_3) /main main.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-17246@lists.php.net to get a copy of this message | ||
iliaa Mon Dec 16 10:44:20 2002 EDT
Modified files: (Branch: PHP_4_3)
/php4/main main.c
Log:
MFH
Index: php4/main/main.c
diff -u php4/main/main.c:1.512.2.4 php4/main/main.c:1.512.2.5
--- php4/main/main.c:1.512.2.4 Thu Dec 5 17:15:01 2002
+++ php4/main/main.c Mon Dec 16 10:44:06 2002
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.512.2.4 2002/12/05 22:15:01 helly Exp $ */
+/* $Id: main.c,v 1.512.2.5 2002/12/16 15:44:06 iliaa Exp $ */
/* {{{ includes
*/
@@ -168,15 +168,36 @@
*/
static void php_disable_functions(TSRMLS_D)
{
- char *func;
- char *new_value_dup = strdup(INI_STR("disable_functions")); /* This is an intentional
leak,
- * it's not a big deal as it's process-wide
- */
-
- func = strtok(new_value_dup, ", ");
- while (func) {
- zend_disable_function(func, strlen(func) TSRMLS_CC);
- func = strtok(NULL, ", ");
+ char *s = NULL;
+ char *e = INI_STR("disable_functions");
+ char p;
+
+ if (!*e) {
+ return;
+ }
+
+ while (*e) {
+ switch (*e) {
+ case ' ':
+ case ',':
+ if (s) {
+ p = *e;
+ *e = '\0';
+ zend_disable_function(s, e-s TSRMLS_CC);
+ *e = p;
+ s = NULL;
+ }
+ break;
+ default:
+ if (!s) {
+ s = e;
+ }
+ break;
+ }
+ e++;
+ }
+ if (s) {
+ zend_disable_function(s, e-s TSRMLS_CC);
}
}
/* }}} */