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

Reply via email to