]> granicus.if.org Git - php/commitdiff
- Revert accidental changes
authorFelipe Pena <felipe@php.net>
Sun, 2 May 2010 20:11:22 +0000 (20:11 +0000)
committerFelipe Pena <felipe@php.net>
Sun, 2 May 2010 20:11:22 +0000 (20:11 +0000)
ext/standard/file.c

index 0c53689582d0b7a7374868adc35bd83ed04a9217..58c111253e139f8e2488c2967259b074c70b2ae0 100644 (file)
@@ -136,12 +136,26 @@ php_file_globals file_globals;
 
 /* {{{ ZTS-stuff / Globals / Prototypes */
 
+/* sharing globals is *evil* */                
+static int le_stream_context = FAILURE;
 
+PHPAPI int php_le_stream_context(void)
+{
+       return le_stream_context;
+}
 /* }}} */
 
 /* {{{ Module-Stuff
 */
-
+static ZEND_RSRC_DTOR_FUNC(file_context_dtor)
+{
+       php_stream_context *context = (php_stream_context*)rsrc->ptr;
+       if (context->options) {
+               zval_ptr_dtor(&context->options);
+               context->options = NULL;
+       }
+       php_stream_context_free(context);
+}
 
 static void file_globals_ctor(php_file_globals *file_globals_p TSRMLS_DC)
 {
@@ -162,6 +176,7 @@ PHP_INI_END()
 
 PHP_MINIT_FUNCTION(file)
 {
+       le_stream_context = zend_register_list_destructors_ex(file_context_dtor, NULL, "stream-context", module_number);
 
 #ifdef ZTS
        ts_allocate_id(&file_globals_id, sizeof(php_file_globals), (ts_allocate_ctor) file_globals_ctor, (ts_allocate_dtor) file_globals_dtor);