ssb             Tue Nov  5 01:05:49 2002 EDT

  Modified files:              
    /php4/ext/standard  basic_functions.c basic_functions.h 
  Log:
  Added separate functions for setting include_path, for environments
  where ini_set has been disabled.  New functions: get_include_path(),
  set_include_path(), restore_include_path()
  
  
Index: php4/ext/standard/basic_functions.c
diff -u php4/ext/standard/basic_functions.c:1.541 
php4/ext/standard/basic_functions.c:1.542
--- php4/ext/standard/basic_functions.c:1.541   Sat Nov  2 05:34:51 2002
+++ php4/ext/standard/basic_functions.c Tue Nov  5 01:05:48 2002
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: basic_functions.c,v 1.541 2002/11/02 10:34:51 helly Exp $ */
+/* $Id: basic_functions.c,v 1.542 2002/11/05 06:05:48 ssb Exp $ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -555,6 +555,9 @@
        PHP_FE(ini_set,                                                                
                                                 NULL)
        PHP_FALIAS(ini_alter,                   ini_set,                               
                                 NULL)
        PHP_FE(ini_restore,                                                            
                                                 NULL)
+       PHP_FE(get_include_path,                                                       
+                                         NULL)
+       PHP_FE(set_include_path,                                                       
+                                         NULL)
+       PHP_FE(restore_include_path,                                                   
+                                 NULL)
 
        PHP_FE(setcookie,                                                              
                                                 NULL)
        PHP_FE(header,                                                                 
                                                 NULL)
@@ -2381,6 +2384,68 @@
 
        zend_restore_ini_entry(Z_STRVAL_PP(varname), Z_STRLEN_PP(varname)+1, 
PHP_INI_STAGE_RUNTIME);
 }
+/* }}} */
+
+/* {{{ proto string set_include_path(string varname, string newvalue)
+   Sets the include_path configuration option */
+
+PHP_FUNCTION(set_include_path)
+{
+       pval **new_value;
+       char *old_value;
+
+       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &new_value) == FAILURE) {
+               WRONG_PARAM_COUNT;
+       }
+       convert_to_string_ex(new_value);
+       old_value = zend_ini_string("include_path", sizeof("include_path"), 0);
+       /* copy to return here, because alter might free it! */
+       if (old_value) {
+               RETVAL_STRING(old_value, 1);
+       } else {
+               RETVAL_FALSE;
+       }
+       if (zend_alter_ini_entry("include_path", sizeof("include_path"),
+                             Z_STRVAL_PP(new_value), Z_STRLEN_PP(new_value),
+                             PHP_INI_USER, PHP_INI_STAGE_RUNTIME) == FAILURE) {
+               zval_dtor(return_value);
+               RETURN_FALSE;
+       }
+}
+
+/* }}} */
+
+/* {{{ proto string get_include_path()
+   Get the current include_path configuration option */
+
+PHP_FUNCTION(get_include_path)
+{
+    char *str;
+       if (ZEND_NUM_ARGS() != 0) {
+               WRONG_PARAM_COUNT;
+       }
+       str = zend_ini_string("include_path", sizeof("include_path"), 0);
+       if (str == NULL) {
+               RETURN_FALSE;
+       }
+       RETURN_STRING(str, 1);
+}
+
+/* }}} */
+
+/* {{{ proto string restore_include_path()
+   Restore the value of the include_path configuration option */
+
+PHP_FUNCTION(restore_include_path)
+{
+       if (ZEND_NUM_ARGS() != 0) {
+               WRONG_PARAM_COUNT;
+       }
+
+       zend_restore_ini_entry("include_path", sizeof("include_path"),
+                           PHP_INI_STAGE_RUNTIME);
+}
+
 /* }}} */
 
 /* {{{ proto bool print_r(mixed var [, bool return])
Index: php4/ext/standard/basic_functions.h
diff -u php4/ext/standard/basic_functions.h:1.108 
php4/ext/standard/basic_functions.h:1.109
--- php4/ext/standard/basic_functions.h:1.108   Sun Sep 29 23:02:52 2002
+++ php4/ext/standard/basic_functions.h Tue Nov  5 01:05:48 2002
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: basic_functions.h,v 1.108 2002/09/30 03:02:52 jon Exp $ */
+/* $Id: basic_functions.h,v 1.109 2002/11/05 06:05:48 ssb Exp $ */
 
 #ifndef BASIC_FUNCTIONS_H
 #define BASIC_FUNCTIONS_H
@@ -78,6 +78,9 @@
 PHP_FUNCTION(ini_get_all);
 PHP_FUNCTION(ini_set);
 PHP_FUNCTION(ini_restore);
+PHP_FUNCTION(get_include_path);
+PHP_FUNCTION(set_include_path);
+PHP_FUNCTION(restore_include_path);
 
 PHP_FUNCTION(print_r);
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to