diff options
| author | Hartmut Holzgraefe <hholzgra@php.net> | 2000-10-13 00:09:31 +0000 |
|---|---|---|
| committer | Hartmut Holzgraefe <hholzgra@php.net> | 2000-10-13 00:09:31 +0000 |
| commit | cae27179ce1f84d47de87c4efbbcbd814f3c7bc6 (patch) | |
| tree | ec1b0d87eb57dacc359cef6fe1fc616d9af88e80 /ext/standard/basic_functions.c | |
| parent | e07e515a1b28dd04911ac9d2f1a099efc2d69160 (diff) | |
| download | php-git-cae27179ce1f84d47de87c4efbbcbd814f3c7bc6.tar.gz | |
fopen wrappers cleanup
- comfiguration is now done by an ini parameter
instead of a compile time option
- the implementations of the three standard wrappers
now live in seperate files in ext/standard
- the compiler is happy again, no more warnings
Diffstat (limited to 'ext/standard/basic_functions.c')
| -rw-r--r-- | ext/standard/basic_functions.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 5338180e88..2459d06173 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -62,6 +62,8 @@ int basic_globals_id; php_basic_globals basic_globals; #endif +#include "php_fopen_wrappers.h" + static unsigned char second_and_third_args_force_ref[] = { 3, BYREF_NONE, BYREF_FORCE, BYREF_FORCE }; static unsigned char second_args_force_ref[] = { 2, BYREF_NONE, BYREF_FORCE }; static unsigned char third_argument_force_ref[] = { 3, BYREF_NONE, BYREF_NONE, BYREF_FORCE }; @@ -669,6 +671,8 @@ static void basic_globals_dtor(BLS_D) PHP_MINIT_FUNCTION(basic) { + PLS_FETCH(); + #ifdef ZTS basic_globals_id = ts_allocate_id(sizeof(php_basic_globals), (ts_allocate_ctor) basic_globals_ctor, (ts_allocate_dtor) basic_globals_dtor); #else @@ -714,6 +718,18 @@ PHP_MINIT_FUNCTION(basic) PHP_MINIT(array)(INIT_FUNC_ARGS_PASSTHRU); PHP_MINIT(assert)(INIT_FUNC_ARGS_PASSTHRU); + if(PG(allow_url_fopen)) { + if(FAILURE==php_register_url_wrapper("http",php_fopen_url_wrap_http)) { + return FAILURE; + } + if(FAILURE==php_register_url_wrapper("ftp",php_fopen_url_wrap_ftp)) { + return FAILURE; + } + if(FAILURE==php_register_url_wrapper("php",php_fopen_url_wrap_ftp)) { + return FAILURE; + } + } + return SUCCESS; } @@ -736,6 +752,12 @@ PHP_MSHUTDOWN_FUNCTION(basic) PHP_MSHUTDOWN(array)(SHUTDOWN_FUNC_ARGS_PASSTHRU); PHP_MSHUTDOWN(assert)(SHUTDOWN_FUNC_ARGS_PASSTHRU); + if(PG(allow_url_fopen)) { + php_unregister_url_wrapper("http"); + php_unregister_url_wrapper("ftp"); + php_unregister_url_wrapper("php"); + } + return SUCCESS; } |
