The simple explanation is that it is functionality that was previously offered by get_parameters(), which is now deprecated.
The long explanation is that I've been writing a database interface extension that has many functions that could potentially take as input any data type. These functions don't know what the type is supposed to be until it has done some analysis, after which, I would have to convert the parameter. >From what I understand, if I use the "z" option and then convert to the necessary data type using convert_to_*(), I have improperly altered Zend internal data. If I used the "z/" option, I could use convert_to_*(), however, this forces a separation which may not be necessary (being a database interface, I want it to be as thin as possible). The convert_to_*_ex() function group is what I need. It checked the type, did the separation and conversion if necessary, and appropriately altered the refcount. The problem is that I needed a valid zval** (one that was accounted for in the refcount) to do this. I tried to solve this problem several different ways, each of which resulted in a segfault. I had been doing &((zval*)returned_from_zend_parse_parameters), so it was an unregistered zval**. Finally, I decided to read through the Zend code and came up with this solution. I would have just used get_parameters() if it wasn't declared deprecated. Plus, zend_parse_parameters() is nicer to work with. I tried to explain things as clearly as I understand them. If I'm mis-understanding something, please let me know. Josh Quoting Andi Gutmans <[EMAIL PROTECTED]>: > I don't have any real problem with this patch. However, I didn't quite > understand why you need it. Can you please remind me? > > Andi > > At 04:22 PM 10/7/2003 -0500, Josh Fuhs wrote: > >How will I know if this gets included in the CVS source repository? > > > >If it doesn't, could someone please explain why not and give me an > alternative > >solution to my problem? > > > >I'm currently using the patched version of PHP and I don't want to upgrade > >unless I know this change is included. > > > >Thanks > > > >Josh > > > >Quoting Andi Gutmans <[EMAIL PROTECTED]>: > > > > > I don't quite understand how this is of added value over the existing > "z". > > > Can you please explain in more detail? > > > > > > Thanks, > > > Andi > > > > > > At 07:05 PM 8/7/2003 -0500, [EMAIL PROTECTED] wrote: > > > >One more time. I hope it's not too obvious that I'm new at this :) > > > > > > > >This patch would add a 'Z' flag to zend_parse_parameters*(). > > > > > > > >Example: > > > > #typdef zvar zval** > > > > zvar a_zvar; > > > > zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &zvar); > > > > > > > >Josh > > > > > > > >-- > > > >PHP Internals - PHP Runtime Development Mailing List > > > >To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > -- > > > PHP Internals - PHP Runtime Development Mailing List > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > > > > > > >-- > >PHP Internals - PHP Runtime Development Mailing List > >To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php