@@ -1356,7 +1356,7 @@ php_stream *phpdbg_stream_url_wrap_php(php_stream_wrapper *wrapper, const char *
1356
1356
return stream ;
1357
1357
}
1358
1358
1359
- return PHPDBG_G (orig_url_wrap_php )-> stream_opener (wrapper , path , mode , options , opened_path , context STREAMS_CC );
1359
+ return PHPDBG_G (orig_url_wrap_php )-> wops -> stream_opener (wrapper , path , mode , options , opened_path , context STREAMS_CC );
1360
1360
} /* }}} */
1361
1361
1362
1362
int main (int argc , char * * argv ) /* {{{ */
@@ -1399,6 +1399,7 @@ int main(int argc, char **argv) /* {{{ */
1399
1399
void * (* _malloc )(size_t );
1400
1400
void (* _free )(void * );
1401
1401
void * (* _realloc )(void * , size_t );
1402
+ php_stream_wrapper wrapper ;
1402
1403
php_stream_wrapper_ops wops ;
1403
1404
1404
1405
@@ -1868,11 +1869,14 @@ int main(int argc, char **argv) /* {{{ */
1868
1869
}
1869
1870
1870
1871
{
1871
- php_stream_wrapper * wrapper = zend_hash_str_find_ptr (php_stream_get_url_stream_wrappers_hash (), ZEND_STRL ("php" ));
1872
- PHPDBG_G (orig_url_wrap_php ) = wrapper -> wops ;
1873
- memcpy (& wops , wrapper -> wops , sizeof (wops ));
1872
+ zval * zv = zend_hash_str_find (php_stream_get_url_stream_wrappers_hash (), ZEND_STRL ("php" ));
1873
+ php_stream_wrapper * tmp_wrapper = Z_PTR_P (zv );
1874
+ PHPDBG_G (orig_url_wrap_php ) = tmp_wrapper ;
1875
+ memcpy (& wrapper , tmp_wrapper , sizeof (wrapper ));
1876
+ memcpy (& wops , tmp_wrapper -> wops , sizeof (wops ));
1874
1877
wops .stream_opener = phpdbg_stream_url_wrap_php ;
1875
- wrapper -> wops = & wops ;
1878
+ wrapper .wops = (const php_stream_wrapper_ops * )& wops ;
1879
+ Z_PTR_P (zv ) = & wrapper ;
1876
1880
}
1877
1881
1878
1882
/* Make stdin, stdout and stderr accessible from PHP scripts */
@@ -2151,8 +2155,8 @@ int main(int argc, char **argv) /* {{{ */
2151
2155
}
2152
2156
2153
2157
{
2154
- php_stream_wrapper * wrapper = zend_hash_str_find_ptr (php_stream_get_url_stream_wrappers_hash (), ZEND_STRL ("php" ));
2155
- wrapper -> wops = PHPDBG_G (orig_url_wrap_php );
2158
+ zval * zv = zend_hash_str_find (php_stream_get_url_stream_wrappers_hash (), ZEND_STRL ("php" ));
2159
+ Z_PTR_P ( zv ) = ( void * ) PHPDBG_G (orig_url_wrap_php );
2156
2160
}
2157
2161
2158
2162
zend_hash_destroy (& PHPDBG_G (file_sources ));
0 commit comments