Changeset 6336


Ignore:
Timestamp:
Jul 15, 2008, 7:25:46 PM (13 years ago)
Author:
charles
Message:

(gtk) #1088: when the gtk+ client is serving Clutch, torrents added via Clutch aren't shown in gtk+ client

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/rpc-server.c

    r6334 r6336  
    113113                    if( body )
    114114                    {
    115                         int err;
    116                         tr_ctor * ctor;
     115                        char * b64, *json, *freeme;
     116                        int json_len;
    117117                        size_t body_len;
     118                        tr_benc top, *args;
     119
    118120                        body += 4;
    119121                        body_len = part_len - ( body - text );
    120122                        if( body_len >= 2 && !memcmp(&body[body_len-2],"\r\n",2) )
    121123                            body_len -= 2;
    122                        
    123                         ctor = tr_ctorNew( s->session );
    124                         tr_ctorSetMetainfo( ctor, (void*)body, body_len );
    125                         tr_ctorSetPaused( ctor, TR_FORCE, paused );
    126                         tr_torrentNew( s->session, ctor, &err );
    127                         tr_ctorFree( ctor );
     124
     125                        tr_bencInitDict( &top, 2 );
     126                        args = tr_bencDictAddDict( &top, "arguments", 2 );
     127                        tr_bencDictAddStr( &top, "method", "torrent-add" );
     128                        b64 = tr_base64_encode( body, body_len, NULL );
     129                        tr_bencDictAddStr( args, "metainfo", b64 );
     130                        tr_bencDictAddInt( args, "paused", paused );
     131                        json = tr_bencSaveAsJSON( &top, &json_len );
     132                        freeme = tr_rpc_request_exec_json( s->session, json, json_len, NULL );
     133
     134                        tr_free( freeme );
     135                        tr_free( json );
     136                        tr_free( b64 );
     137                        tr_bencFree( &top );
    128138                    }
    129139                }
Note: See TracChangeset for help on using the changeset viewer.