Ignore:
Timestamp:
Dec 30, 2008, 10:07:39 PM (12 years ago)
Author:
charles
Message:

(trunk libT) have tr_bencSaveAsJSON() use an evbuffer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/rpcimpl.c

    r7473 r7552  
    762762};
    763763
    764 static char*
    765 request_exec( tr_session * session,
    766               tr_benc    * request,
    767               int        * response_len )
     764static void
     765request_exec( tr_session       * session,
     766              tr_benc          * request,
     767              struct evbuffer  * response_buf )
    768768{
    769769    int64_t      i;
    770770    const char * str;
    771     char *       out;
    772771    tr_benc      response;
    773772    tr_benc *    args_in = tr_bencDictFind( request, "arguments" );
     
    799798    if( tr_bencDictFindInt( request, "tag", &i ) )
    800799        tr_bencDictAddInt( &response, "tag", i );
    801     out = tr_bencSaveAsJSON( &response, response_len );
     800    if( response_buf != NULL )
     801        tr_bencSaveAsJSON( &response, response_buf );
    802802    tr_bencFree( &response );
    803     return out;
    804 }
    805 
    806 char*
    807 tr_rpc_request_exec_json( tr_session * session,
    808                           const void * request_json,
    809                           int          request_len,
    810                           int        * response_len )
     803}
     804
     805void
     806tr_rpc_request_exec_json( tr_session      * session,
     807                          const void      * request_json,
     808                          int               request_len,
     809                          struct evbuffer * response )
    811810{
    812811    tr_benc top;
    813     int     have_content;
    814     char *  ret;
     812    int have_content;
    815813
    816814    if( request_len < 0 )
     
    818816
    819817    have_content = !tr_jsonParse( request_json, request_len, &top, NULL );
    820     ret = request_exec( session, have_content ? &top : NULL, response_len );
     818    request_exec( session, have_content ? &top : NULL, response );
    821819
    822820    if( have_content )
    823821        tr_bencFree( &top );
    824     return ret;
    825822}
    826823
     
    904901}
    905902
    906 char*
    907 tr_rpc_request_exec_uri( tr_session * session,
    908                          const void * request_uri,
    909                          int          request_len,
    910                          int        * response_len )
    911 {
    912     char *       ret = NULL;
     903void
     904tr_rpc_request_exec_uri( tr_session      * session,
     905                         const void      * request_uri,
     906                         int               request_len,
     907                         struct evbuffer * response )
     908{
    913909    tr_benc      top, * args;
    914910    char *       request = tr_strndup( request_uri, request_len );
     
    939935    }
    940936
    941     ret = request_exec( session, &top, response_len );
     937    request_exec( session, &top, response );
    942938
    943939    /* cleanup */
    944940    tr_bencFree( &top );
    945941    tr_free( request );
    946     return ret;
    947 }
    948 
     942}
Note: See TracChangeset for help on using the changeset viewer.