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); } } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php