Re: call_user_function wrong number of parameters?

From: Date: Thu, 29 Apr 2004 07:32:36 +0000
Subject: Re: call_user_function wrong number of parameters?
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-9609@lists.php.net to get a copy of this message
Hello Bill, Thursday, April 29, 2004, 7:26:49 AM, you wrote: > (Win XP Pro, PHP 5 RC 1, Visual C++ .NET) > Hi, > I'm trying to create an extension which calls a function defined in a PHP > script. The name of this function is "someFunction". > My code is here: > zval **params[2], *func_name, *retval_ptr; It must be zval *params[2] (only one *) And func_name (not *) > CLS_FETCH(); what does it do? I hope it does the following which is needed: fetch a zval into zval params[0] and zval params[1] > ZVAL_STRING(func_name, "someFunction", 1); change that to ZVAL_STRING(&func_name, 'someFunc', 0) (notice & and 0 above) and don't free func_name, that's unneeded overhead after these changes > ZVAL_LONG(*params[0], 32); > ZVAL_STRING(*params[1], "meters", 1); > if (call_user_function(CG(function_table), NULL, func_name,&retval_ptr, here you need &func_name, too > 2,params) == SUCCESS) { > zval_ptr_dtor(&retval_ptr); > } > When I compile this I get an error saying > c:\Documents and Settings\Bill > Zeller\Desktop\testing\phui\phui_ext\phui_ext\phui_ext.cpp(121): error > C2198: 'call_user_function' : too few actual parameters > I don't know why this happens, because I'm using the arguments as described > in the definition on line 298 of zend_API.h: > ZEND_API int call_user_function(HashTable *function_table, zval **object_pp, > zval *function_name, zval *retval_ptr, zend_uint param_count, zval *params[] > TSRMLS_DC); > Thanks for your help, > Best Regards, > Bill Zeller -- Best regards, Marcus mailto:helly@php.net

« previous php.internals (#9609) next »