On 06/21/2015 03:40 PM, Kalle Sommer Nielsen wrote:
> Hi
> 
> 2015-06-21 20:58 GMT+02:00 Rasmus Lerdorf <ras...@lerdorf.com>:
>> Or we bite the bullet and fix the arginfo everywhere to make it
>> consistent. It wouldn't be that hard to write a script to generate the
>> bulk of it.
> 
> I think fixing arginfo sounds like the right solution, writing a
> script for it should not be so trival.

Even the ones that have some arginfo aren't all correct.

For example:

https://github.com/php/php-src/blob/master/Zend/zend_builtin_functions.c#L132

which currently says:

ZEND_BEGIN_ARG_INFO_EX(arginfo_define, 0, 0, 3)
        ZEND_ARG_INFO(0, constant_name)
        ZEND_ARG_INFO(0, value)
        ZEND_ARG_INFO(0, case_insensitive)
ZEND_END_ARG_INFO()

That says there are 3 required params when it should clearly be 2.

But really that block should be:

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_define, 0, 2, _IS_BOOL,
0, 0)
    ZEND_ARG_TYPE_INFO(0, constant_name, IS_STRING, 0)
    ZEND_ARG_INFO(0, value)
    ZEND_ARG_TYPE_INFO(0, case_insensitive, _IS_BOOL, 0)
ZEND_END_ARG_INFO()

It seems way too lazy to not fix these before we release 7.0. Especially
the ones that are outright wrong. So, having called us lazy, I better
dig in and do something about it. I'll fix up all of the ones in
zend_builtin_functions.c today. And move on to others after. Definitely
a tedious task that we could use some extra hands on.

-Rasmus

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to