On Tue, 12 Nov 2002, Pierre-Alain Joye wrote:
> Hello,
>
> That's it :)
>
> I did not find a sample privat function, now I do. For the ML archive,
> here is how to do it:
>
> On Tue, 12 Nov 2002 17:48:08 +0100 (CET)
> Derick Rethans <[EMAIL PROTECTED]> wrote:
>
> > typedef image_filter {
> > void (function*)(INTERNAL_FUNCTION_PARAMETERS);
> > } image_filter;
>
> has to be:
> typedef void (*image_filter)(INTERNAL_FUNCTION_PARAMETERS);
>
> We do not need a bidemensional array, except if we want to add the arg
> number to avoid a useless call.
> image_filter filters[] = {_php_image_filter_none,
> _php_image_filter_negate,
> _php_image_filter_blur
> };
Sure, that works too :)
> ]
> the "_php_" prefix seems to be the std for privat function, confirmation?
Yes.
>
> then the call itself:
>
> convert_to_long_ex(FILTERTYPE);
> filtertype = Z_LVAL_PP(FILTERTYPE);
> printf("filtertype:%i\n",filtertype);
> if (filtertype>0 && filtertype<=IMAGE_FILTER_MAX) {
If you also use the first filter entry, you can use >= 0 instead of > 0
of course.
> filters[filtertype](INTERNAL_FUNCTION_PARAM_PASSTHRU);
> }
>
> and the functions to be called:
>
> Function declaration:
> static void _php_image_filter_negate (INTERNAL_FUNCTION_PARAMETERS);
>
> Function implementation:
> static void _php_image_filter_negate (INTERNAL_FUNCTION_PARAMETERS)
> {
> /* do stuff */
> }
>
> voila,
>
> Any comments or better way to do it welcome,
Nope, this looks like that best way :)
Derick
--
---------------------------------------------------------------------------
Derick Rethans http://derickrethans.nl/
JDI Media Solutions
--------------[ if you hold a unix shell to your ear, do you hear the c? ]-
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php