summaryrefslogtreecommitdiff
path: root/ext/standard/basic_functions.c
diff options
context:
space:
mode:
authorHartmut Holzgraefe <hholzgra@php.net>2000-10-13 00:09:31 +0000
committerHartmut Holzgraefe <hholzgra@php.net>2000-10-13 00:09:31 +0000
commitcae27179ce1f84d47de87c4efbbcbd814f3c7bc6 (patch)
treeec1b0d87eb57dacc359cef6fe1fc616d9af88e80 /ext/standard/basic_functions.c
parente07e515a1b28dd04911ac9d2f1a099efc2d69160 (diff)
downloadphp-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.c22
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;
}