I did curl for 5.3

On 6/20/08, Stanislav Malyshev <[EMAIL PROTECTED]> wrote:
> Hi!
>
>  While we nearing the release of 5.3 (hopefully?), there are many functions
> in the PHP code which still use old parameter parsing API
> (zend_get_parameters_ex) instead of the new one (zend_parse_parameters).
>
>  I have cleaned up Zend engine functions, converting them to the new API,
> but there are about 1000 instances throughout PHP code (especially
> ext/standard) which still use the old way. This way is less correct,
> inconsistent with the new code, gives worse error messages, more prone to
> various bugs, etc. All new extensions and functions use the new way, and the
> only reason for keeping the old way in the code seems to be that nobody
> cleaned it up. Somebody has to bring the old ones into sync, and I don't
> think I personally will have time to do it in near timeframe. So if anybody
> could step up to that - by doing at least part of the work - that'd be
> great. The work is pretty simple, taking something like:
>
>  zval **data;
>
>  if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &data) == FAILURE) {
>         WRONG_PARAM_COUNT;
>  }
>  convert_to_string_ex(data);
>
>  and move it into:
>
>  char *str;
>  int str_len;
>
>  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
> &str, &str_len) == FAILURE) {
>         return;
>  }
>
>  and of course convert use of data zval into use of str.
>
>  This needs to be done carefully as not to break things on some more tricky
> functions which may get arguments of multiple types, etc. Also, some tests
> which check error messages may need to be fixed since new API gives more
> detailed messages.
>  zend_parse_parameters documented here:
>  http://www.php.net/manual/en/internals2.ze1.zendapi.php
>  though some of the newer parameters aren't (C, h, f, Z) so one may need to
> look at the code at zend_API.c.
>
>  P.S. if some genius would invent a script to automate that - it'd be
> awesome, but I don't have very high hopes on that. :)
>  --
>  Stanislav Malyshev, Zend Software Architect
>  [EMAIL PROTECTED]   http://www.zend.com/
>  (408)253-8829   MSN: [EMAIL PROTECTED]
>
>  --
>  PHP Internals - PHP Runtime Development Mailing List
>  To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Alexey Zakhlestin
http://blog.milkfarmsoft.com/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to