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