=== modified file 'protocols/twitter/Makefile'
|
|
|
23 | 23 | lcov: check |
24 | 24 | gcov: |
25 | 25 | gcov *.c |
26 | | |
| 26 | |
27 | 27 | .PHONY: all clean distclean |
28 | 28 | |
29 | 29 | clean: |
… |
… |
|
42 | 42 | twitter_mod.o: $(objects) |
43 | 43 | @echo '*' Linking twitter_mod.o |
44 | 44 | @$(LD) $(LFLAGS) $(objects) -o twitter_mod.o |
45 | | |
46 | | |
=== modified file 'protocols/twitter/twitter.c'
|
|
|
118 | 118 | return FALSE; |
119 | 119 | } |
120 | 120 | |
121 | | sprintf( name, "twitter_%s", ic->acc->user ); |
| 121 | sprintf( name, "%s_%s", td->host, ic->acc->user ); |
122 | 122 | msg = g_strdup_printf( "To finish OAuth authentication, please visit " |
123 | 123 | "%s and respond with the resulting PIN code.", |
124 | 124 | info->auth_url ); |
… |
… |
|
213 | 213 | td->url_path = g_strdup( url.file ); |
214 | 214 | else |
215 | 215 | td->url_path = g_strdup( "" ); |
| 216 | if( g_str_has_suffix( url.host, ".com" ) ) |
| 217 | td->host = g_strndup ( url.host, strlen( url.host ) - 4 ); |
| 218 | else |
| 219 | td->host = g_strdup ( url.host ); |
216 | 220 | |
217 | 221 | td->user = acc->user; |
218 | 222 | if( strstr( acc->pass, "oauth_token=" ) ) |
219 | 223 | td->oauth_info = oauth_from_string( acc->pass, &twitter_oauth ); |
220 | 224 | |
221 | | sprintf( name, "twitter_%s", acc->user ); |
| 225 | sprintf( name, "%s_%s", td->host, acc->user ); |
222 | 226 | imcb_add_buddy( ic, name, NULL ); |
223 | 227 | imcb_buddy_status( ic, name, OPT_LOGGED_IN, NULL, NULL ); |
224 | 228 | |
… |
… |
|
246 | 250 | if( td ) |
247 | 251 | { |
248 | 252 | oauth_info_free( td->oauth_info ); |
| 253 | g_free( td->host ); |
249 | 254 | g_free( td->url_host ); |
250 | 255 | g_free( td->url_path ); |
251 | 256 | g_free( td->pass ); |
… |
… |
|
261 | 266 | static int twitter_buddy_msg( struct im_connection *ic, char *who, char *message, int away ) |
262 | 267 | { |
263 | 268 | 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) |
| 269 | gchar** s = g_strsplit(who, "_", 2); /* who has a value of "twitter.com_nick" */ |
| 270 | if (NULL != s && |
| 271 | g_strcasecmp(s[0], td->host) == 0 && |
| 272 | g_strcasecmp(s[1], ic->acc->user) == 0) |
267 | 273 | { |
268 | 274 | if( set_getbool( &ic->acc->set, "oauth" ) && |
269 | 275 | td->oauth_info && td->oauth_info->token == NULL ) |
=== modified file 'protocols/twitter/twitter.h'
|
|
|
52 | 52 | int url_port; |
53 | 53 | char *url_host; |
54 | 54 | char *url_path; |
| 55 | char *host; |
55 | 56 | }; |
56 | 57 | |
57 | 58 | /** |
=== modified file 'protocols/twitter/twitter_lib.c'
|
|
|
446 | 446 | |
447 | 447 | td->home_timeline_gc = gc = imcb_chat_new( ic, "home/timeline" ); |
448 | 448 | |
449 | | name_hint = g_strdup_printf( "Twitter_%s", ic->acc->user ); |
| 449 | name_hint = g_strdup_printf( "%s_%s", td->host, ic->acc->user ); |
450 | 450 | imcb_chat_name_hint( gc, name_hint ); |
451 | 451 | g_free( name_hint ); |
452 | 452 | } |
… |
… |
|
503 | 503 | |
504 | 504 | if( mode_one ) |
505 | 505 | { |
506 | | g_snprintf( from, sizeof( from ) - 1, "twitter_%s", ic->acc->user ); |
| 506 | g_snprintf( from, sizeof( from ) - 1, "%s_%s", td->host, ic->acc->user ); |
507 | 507 | from[MAX_STRING-1] = '\0'; |
508 | 508 | } |
509 | 509 | |
… |
… |
|
735 | 735 | args[0] = "screen_name"; |
736 | 736 | args[1] = who; |
737 | 737 | 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 | } |