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