> > -PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper > (const char *path, char **path_for_open, int options TSRMLS_DC); > > +PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper > (const char *path, const char **path_for_open, int options TSRMLS_DC); > > While is absolutly safe (and often useful) to switch from (char *) to > (const char *), it is not with (char **) > > No compatibility in ever way. > ... expected ‘const char **’ but argument is of type ‘char **’ ... > ... expected ‘char **’ but argument is of type ‘const char **’ ... > > So I agree, this one could probably be reverted. > > As I found awful having to see more code like this (ex from twig) > > #if PHP_API_VERSION >= 20100412 > zend_get_object_classname(object, (const char **) &class_name, > &class_name_len TSRMLS_CC); > #else > zend_get_object_classname(object, &class_name, &class_name_len > TSRMLS_CC); > #endif > return class_name; > } > > Yeah, this is just for (char **) -> (const char **)
I found this in php_stream_locate_url_wrapper. I think that this should be changed to PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper (const char *path, char **path_for_open, int options TSRMLS_DC); There is a similar change for php_glob_stream_path_split but it doesn't have any influence on extensions as it is a static function. Sorry about the zpp comment. It really didn't make any sense! :) Jakub