Ticket #648: kensanata.diff

File kensanata.diff, 2.7 KB (added by alex@…, at 2010-07-12T21:19:23Z)

A proposed patch to the bug. Author: Alex Schroeder <alex@…>

  • protocols/twitter/Makefile

    === modified file 'protocols/twitter/Makefile'
     
    2323lcov: check
    2424gcov:
    2525        gcov *.c
    26        
     26
    2727.PHONY: all clean distclean
    2828
    2929clean:
     
    4242twitter_mod.o: $(objects)
    4343        @echo '*' Linking twitter_mod.o
    4444        @$(LD) $(LFLAGS) $(objects) -o twitter_mod.o
    45        
    46 
  • protocols/twitter/twitter.c

    === modified file 'protocols/twitter/twitter.c'
     
    118118                        return FALSE;
    119119                }
    120120               
    121                 sprintf( name, "twitter_%s", ic->acc->user );
     121                sprintf( name, "%s_%s", td->url_host, ic->acc->user );
    122122                msg = g_strdup_printf( "To finish OAuth authentication, please visit "
    123123                                       "%s and respond with the resulting PIN code.",
    124124                                       info->auth_url );
     
    218218        if( strstr( acc->pass, "oauth_token=" ) )
    219219                td->oauth_info = oauth_from_string( acc->pass, &twitter_oauth );
    220220       
    221         sprintf( name, "twitter_%s", acc->user );
     221        sprintf( name, "%s_%s", td->url_host, acc->user );
    222222        imcb_add_buddy( ic, name, NULL );
    223223        imcb_buddy_status( ic, name, OPT_LOGGED_IN, NULL, NULL );
    224224       
     
    261261static int twitter_buddy_msg( struct im_connection *ic, char *who, char *message, int away )
    262262{
    263263        struct twitter_data *td = ic->proto_data;
    264        
    265         if (g_strncasecmp(who, "twitter_", 8) == 0 &&
    266             g_strcasecmp(who + 8, ic->acc->user) == 0)
     264        gchar** s = g_strsplit(who, "_", 2); /* who has a value of "twitter.com_nick" */
     265        if (NULL != s &&
     266            g_strcasecmp(s[0], td->url_host) == 0 &&
     267            g_strcasecmp(s[1], ic->acc->user) == 0)
    267268        {
    268269                if( set_getbool( &ic->acc->set, "oauth" ) &&
    269270                    td->oauth_info && td->oauth_info->token == NULL )
  • protocols/twitter/twitter_lib.c

    === modified file 'protocols/twitter/twitter_lib.c'
     
    446446       
    447447        td->home_timeline_gc = gc = imcb_chat_new( ic, "home/timeline" );
    448448       
    449         name_hint = g_strdup_printf( "Twitter_%s", ic->acc->user );
     449        name_hint = g_strdup_printf( "%s_%s", td->url_host, ic->acc->user );
    450450        imcb_chat_name_hint( gc, name_hint );
    451451        g_free( name_hint );
    452452}
     
    503503
    504504        if( mode_one )
    505505        {
    506                 g_snprintf( from, sizeof( from ) - 1, "twitter_%s", ic->acc->user );
     506                g_snprintf( from, sizeof( from ) - 1, "%s_%s", td->url_host, ic->acc->user );
    507507                from[MAX_STRING-1] = '\0';
    508508        }
    509509       
     
    735735        args[0] = "screen_name";
    736736        args[1] = who;
    737737        twitter_http(ic, create ? TWITTER_FRIENDSHIPS_CREATE_URL : TWITTER_FRIENDSHIPS_DESTROY_URL, twitter_http_post, ic, 1, args, 2);
    738 }
    739  No newline at end of file
     738}