I don't understand the problem, can you rephrase?
On Thu, 18 Oct 2001, Alan Knowles wrote:
Can someone help me out with this one, - I'm sure that I've not acheived what I was
aiming at - adding the Resource, myresource to the array prior to calling the
callback function
the code below is from the url_request callback wrapper for gtkhtml - if this works
- you can build a working web browser/editor in php..
regards
alan
static void php_gtk_html_url_request_callback (GtkHTML *html, const char *url,
GtkHTMLStream *gs, zval* callback_data)
{
zval *myresource = NULL;
zval *retval = NULL;
zval **callback = NULL, **extra = NULL;
zval **callback_filename = NULL, **callback_lineno = NULL;
zval ***args, *params;
char *callback_name;
TSRMLS_FETCH();
zend_hash_index_find(Z_ARRVAL_P(callback_data), 0, (void **)callback);
zend_hash_index_find(Z_ARRVAL_P(callback_data), 1, (void **)extra);
zend_hash_index_find(Z_ARRVAL_P(callback_data), 2, (void
**)callback_filename);
zend_hash_index_find(Z_ARRVAL_P(callback_data), 3, (void **)callback_lineno);
if (!php_gtk_is_callable(*callback, 0, callback_name)) {
php_error(E_WARNING, Unable to call ctree callback '%s' specified in
%s on line %d, callback_name, Z_STRVAL_PP(callback_filename),
Z_LVAL_PP(callback_lineno));
efree(callback_name);
return;
}
params = php_gtk_build_value((s), url);
ZEND_REGISTER_RESOURCE(myresource, gs, le_gtkhtmlstream);
zend_hash_next_index_insert(Z_ARRVAL_P(params), (zval *) myresource,
sizeof(zval *), NULL);
if (extra)
php_array_merge(Z_ARRVAL_P(params), Z_ARRVAL_PP(extra), 0);
args = php_gtk_hash_as_array(params);
call_user_function_ex(EG(function_table), NULL, *callback, retval,
zend_hash_num_elements(Z_ARRVAL_P(params)), args, 0, NULL TSRMLS_CC);
if (retval)
zval_ptr_dtor(retval);
efree(args);
zval_ptr_dtor(params);
}
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]
-Andrei
Give a man a fish; you have fed him for today. Teach a man to use
the Net and he won't bother you for weeks.
-Author unknown
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]