Changes in protocols/nogaim.c [449a51d:17a6ee9]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/nogaim.c
r449a51d r17a6ee9 38 38 #include "chat.h" 39 39 40 static int remove_chat_buddy_silent( struct groupchat *b, const char *handle );41 42 40 GSList *connections; 43 41 … … 91 89 } 92 90 #endif 93 94 /* nogaim.c */95 91 96 92 GList *protocols = NULL; … … 125 121 } 126 122 127 /* nogaim.c */128 123 void nogaim_init() 129 124 { … … 156 151 GSList *get_connections() { return connections; } 157 152 158 /* multi.c */159 160 153 struct im_connection *imcb_new( account_t *acc ) 161 154 { … … 164 157 ic = g_new0( struct im_connection, 1 ); 165 158 166 ic-> irc = acc->irc;159 ic->bee = acc->bee; 167 160 ic->acc = acc; 168 161 acc->ic = ic; … … 178 171 179 172 /* Destroy the pointer to this connection from the account list */ 180 for( a = ic-> irc->accounts; a; a = a->next )173 for( a = ic->bee->accounts; a; a = a->next ) 181 174 if( a->ic == ic ) 182 175 { … … 199 192 va_end( params ); 200 193 201 if( ( g_strcasecmp( set_getstr( &ic-> irc->set, "strip_html" ), "always" ) == 0 ) ||202 ( ( ic->flags & OPT_DOES_HTML ) && set_getbool( &ic-> irc->set, "strip_html" ) ) )194 if( ( g_strcasecmp( set_getstr( &ic->bee->set, "strip_html" ), "always" ) == 0 ) || 195 ( ( ic->flags & OPT_DOES_HTML ) && set_getbool( &ic->bee->set, "strip_html" ) ) ) 203 196 strip_html( text ); 204 197 205 198 /* Try to find a different connection on the same protocol. */ 206 for( a = ic-> irc->accounts; a; a = a->next )199 for( a = ic->bee->accounts; a; a = a->next ) 207 200 if( a->prpl == ic->acc->prpl && a->ic != ic ) 208 201 break; … … 210 203 /* If we found one, include the screenname in the message. */ 211 204 if( a ) 212 irc_usermsg( ic->irc, "%s(%s) - %s", ic->acc->prpl->name, ic->acc->user, text ); 205 /* FIXME(wilmer): ui_log callback or so */ 206 irc_usermsg( ic->bee->ui_data, "%s(%s) - %s", ic->acc->prpl->name, ic->acc->user, text ); 213 207 else 214 irc_usermsg( ic-> irc, "%s - %s", ic->acc->prpl->name, text );208 irc_usermsg( ic->bee->ui_data, "%s - %s", ic->acc->prpl->name, text ); 215 209 216 210 g_free( text ); … … 263 257 void imcb_connected( struct im_connection *ic ) 264 258 { 265 irc_t *irc = ic->irc;266 struct chat *c;267 user_t *u;268 269 259 /* MSN servers sometimes redirect you to a different server and do 270 260 the whole login sequence again, so these "late" calls to this … … 273 263 return; 274 264 275 u = user_find( ic->irc, ic->irc->nick );276 277 265 imcb_log( ic, "Logged in" ); 278 266 … … 287 275 ic->acc->auto_reconnect_delay = 0; 288 276 277 /* 289 278 for( c = irc->chatrooms; c; c = c->next ) 290 279 { … … 295 284 chat_join( irc, c, NULL ); 296 285 } 286 */ 297 287 } 298 288 … … 302 292 303 293 a->reconnect = 0; 304 account_on( a-> irc, a );294 account_on( a->bee, a ); 305 295 306 296 return( FALSE ); /* Only have to run the timeout once */ … … 315 305 void imc_logout( struct im_connection *ic, int allow_reconnect ) 316 306 { 317 irc_t *irc = ic->irc; 318 user_t *t, *u; 307 bee_t *bee = ic->bee; 319 308 account_t *a; 309 GSList *l; 320 310 int delay; 321 311 … … 337 327 ic->away = NULL; 338 328 339 u = irc->users; 340 while( u ) 341 { 342 if( u->ic == ic ) 343 { 344 t = u->next; 345 user_del( irc, u->nick ); 346 u = t; 347 } 348 else 349 u = u->next; 350 } 351 352 query_del_by_conn( ic->irc, ic ); 353 354 for( a = irc->accounts; a; a = a->next ) 329 for( l = bee->users; l; l = l->next ) 330 { 331 bee_user_t *bu = l->data; 332 333 if( bu->ic == ic ) 334 bee_user_free( bee, ic, bu->handle ); 335 } 336 337 //query_del_by_conn( ic->irc, ic ); 338 339 for( a = bee->accounts; a; a = a->next ) 355 340 if( a->ic == ic ) 356 341 break; … … 360 345 /* Uhm... This is very sick. */ 361 346 } 362 else if( allow_reconnect && set_getbool( & irc->set, "auto_reconnect" ) &&347 else if( allow_reconnect && set_getbool( &bee->set, "auto_reconnect" ) && 363 348 set_getbool( &a->set, "auto_reconnect" ) && 364 349 ( delay = account_reconnect_delay( a ) ) > 0 ) … … 371 356 } 372 357 373 374 /* dialogs.c */375 376 358 void imcb_ask( struct im_connection *ic, char *msg, void *data, 377 359 query_callback doit, query_callback dont ) 378 360 { 379 query_add( ic->irc, ic, msg, doit, dont, data ); 380 } 381 382 383 /* list.c */ 361 //query_add( ic->irc, ic, msg, doit, dont, data ); 362 } 384 363 385 364 void imcb_add_buddy( struct im_connection *ic, const char *handle, const char *group ) 386 365 { 387 user_t *u; 388 char nick[MAX_NICK_LENGTH+1], *s; 389 irc_t *irc = ic->irc; 390 391 if( user_findhandle( ic, handle ) ) 392 { 393 if( set_getbool( &irc->set, "debug" ) ) 366 bee_user_t *bu; 367 bee_t *bee = ic->bee; 368 369 if( bee_user_by_handle( bee, ic, handle ) ) 370 { 371 if( set_getbool( &bee->set, "debug" ) ) 394 372 imcb_log( ic, "User already exists, ignoring add request: %s", handle ); 395 373 … … 402 380 } 403 381 404 memset( nick, 0, MAX_NICK_LENGTH + 1 ); 405 strcpy( nick, nick_get( ic->acc, handle ) ); 406 407 u = user_add( ic->irc, nick ); 408 409 // if( !realname || !*realname ) realname = nick; 410 // u->realname = g_strdup( realname ); 411 412 if( ( s = strchr( handle, '@' ) ) ) 413 { 414 u->host = g_strdup( s + 1 ); 415 u->user = g_strndup( handle, s - handle ); 416 } 417 else if( ic->acc->server ) 418 { 419 u->host = g_strdup( ic->acc->server ); 420 u->user = g_strdup( handle ); 421 422 /* s/ /_/ ... important for AOL screennames */ 423 for( s = u->user; *s; s ++ ) 424 if( *s == ' ' ) 425 *s = '_'; 426 } 427 else 428 { 429 u->host = g_strdup( ic->acc->prpl->name ); 430 u->user = g_strdup( handle ); 431 } 432 433 u->ic = ic; 434 u->handle = g_strdup( handle ); 435 if( group ) u->group = g_strdup( group ); 436 u->send_handler = buddy_send_handler; 437 u->last_typing_notice = 0; 438 } 439 440 struct buddy *imcb_find_buddy( struct im_connection *ic, char *handle ) 441 { 442 static struct buddy b[1]; 443 user_t *u; 444 445 u = user_findhandle( ic, handle ); 446 447 if( !u ) 448 return( NULL ); 449 450 memset( b, 0, sizeof( b ) ); 451 strncpy( b->name, handle, 80 ); 452 strncpy( b->show, u->realname, BUDDY_ALIAS_MAXLEN ); 453 b->present = u->online; 454 b->ic = u->ic; 455 456 return( b ); 457 } 458 459 void imcb_rename_buddy( struct im_connection *ic, const char *handle, const char *realname ) 460 { 461 user_t *u = user_findhandle( ic, handle ); 462 char *set; 463 464 if( !u || !realname ) return; 465 466 if( g_strcasecmp( u->realname, realname ) != 0 ) 467 { 468 if( u->realname != u->nick ) g_free( u->realname ); 469 470 u->realname = g_strdup( realname ); 471 472 if( ( ic->flags & OPT_LOGGED_IN ) && set_getbool( &ic->irc->set, "display_namechanges" ) ) 473 imcb_log( ic, "User `%s' changed name to `%s'", u->nick, u->realname ); 474 } 475 476 set = set_getstr( &ic->acc->set, "nick_source" ); 477 if( strcmp( set, "handle" ) != 0 ) 478 { 479 char *name = g_strdup( realname ); 480 481 if( strcmp( set, "first_name" ) == 0 ) 482 { 483 int i; 484 for( i = 0; name[i] && !isspace( name[i] ); i ++ ) {} 485 name[i] = '\0'; 486 } 487 488 imcb_buddy_nick_hint( ic, handle, name ); 489 490 g_free( name ); 382 bu = bee_user_new( bee, ic, handle ); 383 bu->group = g_strdup( group ); 384 } 385 386 void imcb_rename_buddy( struct im_connection *ic, const char *handle, const char *fullname ) 387 { 388 bee_t *bee = ic->bee; 389 bee_user_t *bu = bee_user_by_handle( bee, ic, handle ); 390 391 if( !bu || !fullname ) return; 392 393 if( !bu->fullname || strcmp( bu->fullname, fullname ) != 0 ) 394 { 395 g_free( bu->fullname ); 396 bu->fullname = g_strdup( fullname ); 397 398 if( bee->ui->user_fullname ) 399 bee->ui->user_fullname( bee, bu ); 491 400 } 492 401 } … … 494 403 void imcb_remove_buddy( struct im_connection *ic, const char *handle, char *group ) 495 404 { 496 user_t *u; 497 498 if( ( u = user_findhandle( ic, handle ) ) ) 499 user_del( ic->irc, u->nick ); 405 bee_user_free( ic->bee, ic, handle ); 500 406 } 501 407 … … 504 410 void imcb_buddy_nick_hint( struct im_connection *ic, const char *handle, const char *nick ) 505 411 { 412 #if 0 506 413 user_t *u = user_findhandle( ic, handle ); 507 414 char newnick[MAX_NICK_LENGTH+1], *orig_nick; … … 518 425 /* Some processing to make sure this string is a valid IRC nickname. */ 519 426 nick_strip( newnick ); 520 if( set_getbool( &ic-> irc->set, "lcnicks" ) )427 if( set_getbool( &ic->bee->set, "lcnicks" ) ) 521 428 nick_lc( newnick ); 522 429 … … 535 442 } 536 443 } 444 #endif 537 445 } 538 446 … … 544 452 }; 545 453 454 #if 0 546 455 static void imcb_ask_auth_cb_no( void *data ) 547 456 { … … 563 472 g_free( cbd ); 564 473 } 474 #endif 565 475 566 476 void imcb_ask_auth( struct im_connection *ic, const char *handle, const char *realname ) 567 477 { 478 #if 0 568 479 struct imcb_ask_cb_data *data = g_new0( struct imcb_ask_cb_data, 1 ); 569 480 char *s, *realname_ = NULL; … … 580 491 data->handle = g_strdup( handle ); 581 492 query_add( ic->irc, ic, s, imcb_ask_auth_cb_yes, imcb_ask_auth_cb_no, data ); 582 } 583 584 493 #endif 494 } 495 496 497 #if 0 585 498 static void imcb_ask_add_cb_no( void *data ) 586 499 { … … 597 510 return imcb_ask_add_cb_no( data ); 598 511 } 512 #endif 599 513 600 514 void imcb_ask_add( struct im_connection *ic, const char *handle, const char *realname ) 601 515 { 516 #if 0 602 517 struct imcb_ask_cb_data *data = g_new0( struct imcb_ask_cb_data, 1 ); 603 518 char *s; … … 612 527 data->handle = g_strdup( handle ); 613 528 query_add( ic->irc, ic, s, imcb_ask_add_cb_yes, imcb_ask_add_cb_no, data ); 614 } 615 616 617 /* server.c */ 618 619 void imcb_buddy_status( struct im_connection *ic, const char *handle, int flags, const char *state, const char *message ) 620 { 529 #endif 530 } 531 532 void imcb_buddy_typing( struct im_connection *ic, char *handle, uint32_t flags ) 533 { 534 #if 0 621 535 user_t *u; 622 int oa, oo; 623 624 u = user_findhandle( ic, (char*) handle ); 625 626 if( !u ) 627 { 628 if( g_strcasecmp( set_getstr( &ic->irc->set, "handle_unknown" ), "add" ) == 0 ) 629 { 630 imcb_add_buddy( ic, (char*) handle, NULL ); 631 u = user_findhandle( ic, (char*) handle ); 632 } 633 else 634 { 635 if( set_getbool( &ic->irc->set, "debug" ) || g_strcasecmp( set_getstr( &ic->irc->set, "handle_unknown" ), "ignore" ) != 0 ) 636 { 637 imcb_log( ic, "imcb_buddy_status() for unknown handle %s:", handle ); 638 imcb_log( ic, "flags = %d, state = %s, message = %s", flags, 639 state ? state : "NULL", message ? message : "NULL" ); 640 } 641 642 return; 643 } 644 } 645 646 oa = u->away != NULL; 647 oo = u->online; 648 649 g_free( u->away ); 650 g_free( u->status_msg ); 651 u->away = u->status_msg = NULL; 652 653 if( ( flags & OPT_LOGGED_IN ) && !u->online ) 654 { 655 irc_spawn( ic->irc, u ); 656 u->online = 1; 657 } 658 else if( !( flags & OPT_LOGGED_IN ) && u->online ) 659 { 660 struct groupchat *c; 661 662 irc_kill( ic->irc, u ); 663 u->online = 0; 664 665 /* Remove him/her from the groupchats to prevent PART messages after he/she QUIT already */ 666 for( c = ic->groupchats; c; c = c->next ) 667 remove_chat_buddy_silent( c, handle ); 668 } 669 670 if( flags & OPT_AWAY ) 671 { 672 if( state && message ) 673 { 674 u->away = g_strdup_printf( "%s (%s)", state, message ); 675 } 676 else if( state ) 677 { 678 u->away = g_strdup( state ); 679 } 680 else if( message ) 681 { 682 u->away = g_strdup( message ); 683 } 684 else 685 { 686 u->away = g_strdup( "Away" ); 687 } 688 } 689 else 690 { 691 u->status_msg = g_strdup( message ); 692 } 693 694 /* LISPy... */ 695 if( ( set_getbool( &ic->irc->set, "away_devoice" ) ) && /* Don't do a thing when user doesn't want it */ 696 ( u->online ) && /* Don't touch offline people */ 697 ( ( ( u->online != oo ) && !u->away ) || /* Voice joining people */ 698 ( ( u->online == oo ) && ( oa == !u->away ) ) ) ) /* (De)voice people changing state */ 699 { 700 char *from; 701 702 if( set_getbool( &ic->irc->set, "simulate_netsplit" ) ) 703 { 704 from = g_strdup( ic->irc->myhost ); 705 } 706 else 707 { 708 from = g_strdup_printf( "%s!%s@%s", ic->irc->mynick, ic->irc->mynick, 709 ic->irc->myhost ); 710 } 711 irc_write( ic->irc, ":%s MODE %s %cv %s", from, ic->irc->channel, 712 u->away?'-':'+', u->nick ); 713 g_free( from ); 714 } 715 } 716 717 void imcb_buddy_msg( struct im_connection *ic, const char *handle, char *msg, uint32_t flags, time_t sent_at ) 718 { 719 irc_t *irc = ic->irc; 720 char *wrapped; 721 user_t *u; 722 723 u = user_findhandle( ic, handle ); 724 725 if( !u ) 726 { 727 char *h = set_getstr( &irc->set, "handle_unknown" ); 728 729 if( g_strcasecmp( h, "ignore" ) == 0 ) 730 { 731 if( set_getbool( &irc->set, "debug" ) ) 732 imcb_log( ic, "Ignoring message from unknown handle %s", handle ); 733 734 return; 735 } 736 else if( g_strncasecmp( h, "add", 3 ) == 0 ) 737 { 738 int private = set_getbool( &irc->set, "private" ); 739 740 if( h[3] ) 741 { 742 if( g_strcasecmp( h + 3, "_private" ) == 0 ) 743 private = 1; 744 else if( g_strcasecmp( h + 3, "_channel" ) == 0 ) 745 private = 0; 746 } 747 748 imcb_add_buddy( ic, handle, NULL ); 749 u = user_findhandle( ic, handle ); 750 u->is_private = private; 751 } 752 else 753 { 754 imcb_log( ic, "Message from unknown handle %s:", handle ); 755 u = user_find( irc, irc->mynick ); 756 } 757 } 758 759 if( ( g_strcasecmp( set_getstr( &ic->irc->set, "strip_html" ), "always" ) == 0 ) || 760 ( ( ic->flags & OPT_DOES_HTML ) && set_getbool( &ic->irc->set, "strip_html" ) ) ) 761 strip_html( msg ); 762 763 wrapped = word_wrap( msg, 425 ); 764 irc_msgfrom( irc, u->nick, wrapped ); 765 g_free( wrapped ); 766 } 767 768 void imcb_buddy_typing( struct im_connection *ic, char *handle, uint32_t flags ) 769 { 770 user_t *u; 771 772 if( !set_getbool( &ic->irc->set, "typing_notice" ) ) 536 537 if( !set_getbool( &ic->bee->set, "typing_notice" ) ) 773 538 return; 774 539 … … 780 545 irc_privmsg( ic->irc, u, "PRIVMSG", ic->irc->nick, NULL, buf ); 781 546 } 547 #endif 548 } 549 550 struct bee_user *imcb_buddy_by_handle( struct im_connection *ic, const char *handle ) 551 { 552 return bee_user_by_handle( ic->bee, ic, handle ); 782 553 } 783 554 784 555 struct groupchat *imcb_chat_new( struct im_connection *ic, const char *handle ) 785 556 { 557 #if 0 786 558 struct groupchat *c; 787 559 … … 801 573 c->topic = g_strdup_printf( "BitlBee groupchat: \"%s\". Please keep in mind that root-commands won't work here. Have fun!", c->title ); 802 574 803 if( set_getbool( &ic-> irc->set, "debug" ) )575 if( set_getbool( &ic->bee->set, "debug" ) ) 804 576 imcb_log( ic, "Creating new conversation: (id=%p,handle=%s)", c, handle ); 805 577 806 578 return c; 579 #endif 580 return NULL; 807 581 } 808 582 809 583 void imcb_chat_free( struct groupchat *c ) 810 584 { 585 #if 0 811 586 struct im_connection *ic = c->ic; 812 587 struct groupchat *l; 813 588 GList *ir; 814 589 815 if( set_getbool( &ic-> irc->set, "debug" ) )590 if( set_getbool( &ic->bee->set, "debug" ) ) 816 591 imcb_log( ic, "You were removed from conversation %p", c ); 817 592 … … 846 621 g_free( c ); 847 622 } 623 #endif 848 624 } 849 625 850 626 void imcb_chat_msg( struct groupchat *c, const char *who, char *msg, uint32_t flags, time_t sent_at ) 851 627 { 628 #if 0 852 629 struct im_connection *ic = c->ic; 853 630 char *wrapped; … … 860 637 u = user_findhandle( ic, who ); 861 638 862 if( ( g_strcasecmp( set_getstr( &ic-> irc->set, "strip_html" ), "always" ) == 0 ) ||863 ( ( ic->flags & OPT_DOES_HTML ) && set_getbool( &ic-> irc->set, "strip_html" ) ) )639 if( ( g_strcasecmp( set_getstr( &ic->bee->set, "strip_html" ), "always" ) == 0 ) || 640 ( ( ic->flags & OPT_DOES_HTML ) && set_getbool( &ic->bee->set, "strip_html" ) ) ) 864 641 strip_html( msg ); 865 642 … … 874 651 } 875 652 g_free( wrapped ); 653 #endif 876 654 } 877 655 878 656 void imcb_chat_log( struct groupchat *c, char *format, ... ) 879 657 { 658 #if 0 880 659 irc_t *irc = c->ic->irc; 881 660 va_list params; … … 892 671 893 672 g_free( text ); 673 #endif 894 674 } 895 675 896 676 void imcb_chat_topic( struct groupchat *c, char *who, char *topic, time_t set_at ) 897 677 { 678 #if 0 898 679 struct im_connection *ic = c->ic; 899 680 user_t *u = NULL; … … 906 687 u = user_findhandle( ic, who ); 907 688 908 if( ( g_strcasecmp( set_getstr( &ic-> irc->set, "strip_html" ), "always" ) == 0 ) ||909 ( ( ic->flags & OPT_DOES_HTML ) && set_getbool( &ic-> irc->set, "strip_html" ) ) )689 if( ( g_strcasecmp( set_getstr( &ic->bee->set, "strip_html" ), "always" ) == 0 ) || 690 ( ( ic->flags & OPT_DOES_HTML ) && set_getbool( &ic->bee->set, "strip_html" ) ) ) 910 691 strip_html( topic ); 911 692 … … 915 696 if( c->joined && u ) 916 697 irc_write( ic->irc, ":%s!%s@%s TOPIC %s :%s", u->nick, u->user, u->host, c->channel, topic ); 917 } 918 919 920 /* buddy_chat.c */ 698 #endif 699 } 921 700 922 701 void imcb_chat_add_buddy( struct groupchat *b, const char *handle ) 923 702 { 703 #if 0 924 704 user_t *u = user_findhandle( b->ic, handle ); 925 705 int me = 0; 926 706 927 if( set_getbool( &b->ic-> irc->set, "debug" ) )707 if( set_getbool( &b->ic->bee->set, "debug" ) ) 928 708 imcb_log( b->ic, "User %s added to conversation %p", handle, b ); 929 709 … … 952 732 b->in_room = g_list_append( b->in_room, g_strdup( handle ) ); 953 733 } 734 #endif 954 735 } 955 736 … … 957 738 void imcb_chat_remove_buddy( struct groupchat *b, const char *handle, const char *reason ) 958 739 { 740 #if 0 959 741 user_t *u; 960 742 int me = 0; 961 743 962 if( set_getbool( &b->ic-> irc->set, "debug" ) )744 if( set_getbool( &b->ic->bee->set, "debug" ) ) 963 745 imcb_log( b->ic, "User %s removed from conversation %p (%s)", handle, b, reason ? reason : "" ); 964 746 … … 980 762 if( me || ( remove_chat_buddy_silent( b, handle ) && b->joined && u ) ) 981 763 irc_part( b->ic->irc, u, b->channel ); 982 } 983 764 #endif 765 } 766 767 #if 0 984 768 static int remove_chat_buddy_silent( struct groupchat *b, const char *handle ) 985 769 { … … 1000 784 } 1001 785 1002 return( 0 ); 1003 } 786 return 0; 787 } 788 #endif 1004 789 1005 790 1006 791 /* Misc. BitlBee stuff which shouldn't really be here */ 1007 792 #if 0 1008 793 char *set_eval_away_devoice( set_t *set, char *value ) 1009 794 { … … 1018 803 /* Horror.... */ 1019 804 1020 if( st != set_getbool( &irc-> set, "away_devoice" ) )805 if( st != set_getbool( &irc->b->set, "away_devoice" ) ) 1021 806 { 1022 807 char list[80] = ""; … … 1060 845 return value; 1061 846 } 1062 847 #endif 1063 848 1064 849 … … 1067 852 them all from some wrappers. We'll start to define some down here: */ 1068 853 1069 int imc_ buddy_msg( struct im_connection *ic, char *handle, char *msg, int flags )854 int imc_chat_msg( struct groupchat *c, char *msg, int flags ) 1070 855 { 1071 856 char *buf = NULL; 1072 int st; 1073 1074 if( ( ic->flags & OPT_DOES_HTML ) && ( g_strncasecmp( msg, "<html>", 6 ) != 0 ) ) 857 858 if( ( c->ic->flags & OPT_DOES_HTML ) && ( g_strncasecmp( msg, "<html>", 6 ) != 0 ) ) 1075 859 { 1076 860 buf = escape_html( msg ); … … 1078 862 } 1079 863 1080 st = ic->acc->prpl->buddy_msg( ic, handle, msg, flags );1081 g_free( buf );1082 1083 return st;1084 }1085 1086 int imc_chat_msg( struct groupchat *c, char *msg, int flags )1087 {1088 char *buf = NULL;1089 1090 if( ( c->ic->flags & OPT_DOES_HTML ) && ( g_strncasecmp( msg, "<html>", 6 ) != 0 ) )1091 {1092 buf = escape_html( msg );1093 msg = buf;1094 }1095 1096 864 c->ic->acc->prpl->chat_msg( c, msg, flags ); 1097 865 g_free( buf ); … … 1107 875 1108 876 away = set_getstr( &ic->acc->set, "away" ) ? 1109 : set_getstr( &ic-> irc->set, "away" );877 : set_getstr( &ic->bee->set, "away" ); 1110 878 if( away && *away ) 1111 879 { … … 1118 886 away = NULL; 1119 887 msg = set_getstr( &ic->acc->set, "status" ) ? 1120 : set_getstr( &ic-> irc->set, "status" );888 : set_getstr( &ic->bee->set, "status" ); 1121 889 } 1122 890
Note: See TracChangeset
for help on using the changeset viewer.