[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-internals
Subject:    Re: [PHP-DEV] [patch] zend_call_method_with_N_params()
From:       Marcus Boerger <helly () php ! net>
Date:       2008-01-31 16:27:35
Message-ID: 1679569193.20080131172735 () marcus-boerger ! de
[Download RAW message or body]

Hello Masaki,

  unfortunately we cannot use any C99 extension and must stick to C89.
Also I do not really see a reason to use ... in the actual function
definition. The reason for the way the function is written, is to avoid
using emalloc. Now, we can probably live with up to four parameters for
PHP 5.3 and HEAD. But we cannot allow this in 5.2 as it would be an API
change. So if you can comeup with a change that will simply add two
parameters for zend_call_method() and provide the two additionla macros
as well as fixing the ones being present already then *I* think it is
fine.

marcus

Thursday, January 31, 2008, 3:58:51 PM, you wrote:

> hello marcus,

> after a long interval, I've restarted to hack PHP and ZE again, and I
> found that zend_call_method could take only 2 args at most...(I just
> wanted to call methods w/ 3 or more args in my extensions:)

> I think we can easily rewrite this w/ va_list, and since most of the
> extensions are call zend_call_method() via zend_call_method_with* macro
> so that no BC breaking things will happen.

> # AFAIK only spl use zend_call_method() directly and perhaps we can
> easily sync w/ updated interfaces (TSRM fixes will do)

> pathces are here:
> [PHP_5_2 / PHP_5_3]
> http://labs.gree.jp/data/patch/zend_interfaces_var_list.php_5_2.patch

> [HEAD]
> http://labs.gree.jp/data/patch/zend_interfaces_var_list.head.patch

> # C99 feature (__VA_ARGS__) is used in my patch for HEAD...(is it
> acceptable?)

> if this is ok, it's much appreciated if you apply these patches. thank you.

> -- 
> Masaki Fujimoto
> <fujimoto@php.net>




Best regards,
 Marcus

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic