(trunk libT) put ful's theory to the test wrt function pointers

This commit is contained in:
Charles Kerr 2009-01-19 18:11:47 +00:00
parent 1d08afa717
commit daaa450f8e
2 changed files with 13 additions and 13 deletions

View File

@ -65,7 +65,7 @@ struct tr_rpc_idle_data
tr_session * session;
tr_benc * response;
tr_benc * args_out;
tr_rpc_response_func * callback;
tr_rpc_response_func callback;
void * callback_user_data;
};
@ -79,8 +79,8 @@ tr_idle_function_done( struct tr_rpc_idle_data * data, const char * result )
tr_bencDictAddStr( data->response, "result", result );
tr_bencSaveAsJSON( data->response, buf );
data->callback( data->session, (const char*)EVBUFFER_DATA(buf),
EVBUFFER_LENGTH(buf), data->callback_user_data );
(*data->callback)( data->session, (const char*)EVBUFFER_DATA(buf),
EVBUFFER_LENGTH(buf), data->callback_user_data );
tr_releaseBuffer( buf );
tr_bencFree( data->response );
@ -877,13 +877,13 @@ sessionGet( tr_session * session,
****
***/
typedef const char* ( handler )( tr_session*, tr_benc*, tr_benc*, struct tr_rpc_idle_data * );
typedef const char* ( *handler )( tr_session*, tr_benc*, tr_benc*, struct tr_rpc_idle_data * );
static struct method
{
const char * name;
tr_bool immediate;
handler * func;
handler func;
}
methods[] =
{
@ -934,8 +934,8 @@ request_exec( tr_session * session,
if( tr_bencDictFindInt( request, "tag", &i ) )
tr_bencDictAddInt( &response, "tag", i );
tr_bencSaveAsJSON( &response, buf );
callback( session, (const char*)EVBUFFER_DATA(buf),
EVBUFFER_LENGTH( buf ), callback_user_data );
(*callback)( session, (const char*)EVBUFFER_DATA(buf),
EVBUFFER_LENGTH( buf ), callback_user_data );
tr_releaseBuffer( buf );
tr_bencFree( &response );
@ -956,8 +956,8 @@ request_exec( tr_session * session,
if( tr_bencDictFindInt( request, "tag", &i ) )
tr_bencDictAddInt( &response, "tag", i );
tr_bencSaveAsJSON( &response, buf );
callback( session, (const char*)EVBUFFER_DATA(buf),
EVBUFFER_LENGTH(buf), callback_user_data );
(*callback)( session, (const char*)EVBUFFER_DATA(buf),
EVBUFFER_LENGTH(buf), callback_user_data );
tr_releaseBuffer( buf );
tr_bencFree( &response );

View File

@ -19,10 +19,10 @@
struct tr_benc;
typedef void( tr_rpc_response_func )( tr_session * session,
const char * response,
size_t response_len,
void * user_data );
typedef void( *tr_rpc_response_func )( tr_session * session,
const char * response,
size_t response_len,
void * user_data );
/* http://www.json.org/ */
void tr_rpc_request_exec_json( tr_session * session,
const void * request_json,