- Timestamp:
- 2008-02-09T17:58:13Z (16 years ago)
- Branches:
- master
- Children:
- f55cfe9
- Parents:
- a13855a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
irc.c
ra13855a r5a71d9c 102 102 103 103 irc_connection_list = g_slist_append( irc_connection_list, irc ); 104 105 set_add( &irc->set, "away_devoice", "true", set_eval_away_devoice, irc ); 104 106 105 set_add( &irc->set, "auto_connect", "true", set_eval_bool, irc ); 107 106 set_add( &irc->set, "auto_reconnect", "false", set_eval_bool, irc ); … … 115 114 set_add( &irc->set, "handle_unknown", "root", NULL, irc ); 116 115 set_add( &irc->set, "lcnicks", "true", set_eval_bool, irc ); 117 set_add( &irc->set, "ops", "both", set_eval_ops, irc ); 116 set_add( &irc->set, "op_buddies", "false", set_eval_op_buddies, irc ); 117 set_add( &irc->set, "op_root", "true", set_eval_op_root, irc ); 118 set_add( &irc->set, "op_user", "true", set_eval_op_user, irc ); 118 119 set_add( &irc->set, "password", NULL, passchange, irc ); 119 120 set_add( &irc->set, "private", "true", set_eval_bool, irc ); … … 124 125 set_add( &irc->set, "to_char", ": ", set_eval_to_char, irc ); 125 126 set_add( &irc->set, "typing_notice", "false", set_eval_bool, irc ); 127 set_add( &irc->set, "voice_buddies", "notaway", set_eval_voice_buddies, irc ); 126 128 127 129 conf_loaddefaults( irc ); … … 643 645 char namelist[385] = ""; 644 646 struct groupchat *c = NULL; 645 char *ops = set_getstr( &irc->set, "ops" ); 647 char *oo = set_getstr(&irc->set, "op_buddies"); 648 char *vo = set_getstr(&irc->set, "voice_buddies"); 646 649 647 650 /* RFCs say there is no error reply allowed on NAMES, so when the … … 658 661 } 659 662 660 if( u->ic && !u->away && set_getbool( &irc->set, "away_devoice") )663 if( u->ic && !u->away && !strcmp(vo, "notaway") ) 661 664 strcat( namelist, "+" ); 662 else if( ( strcmp( u->nick, irc->mynick ) == 0 && ( strcmp( ops, "root" ) == 0 || strcmp( ops, "both" ) == 0 ) ) || 663 ( strcmp( u->nick, irc->nick ) == 0 && ( strcmp( ops, "user" ) == 0 || strcmp( ops, "both" ) == 0 ) ) ) 665 else if( ( strcmp( u->nick, irc->mynick ) == 0 && set_getbool(&irc->set, "op_root") ) || 666 ( strcmp( u->nick, irc->nick ) == 0 && set_getbool(&irc->set, "op_user") ) || 667 ( !u->away && !strcmp(oo, "notaway") ) || 668 ( u->encrypted>1 && !strcmp(oo, "trusted") ) || 669 ( u->encrypted && !strcmp(oo, "encrypted") ) ) 664 670 strcat( namelist, "@" ); 665 671 … … 674 680 /* root and the user aren't in the channel userlist but should 675 681 show up in /NAMES, so list them first: */ 676 sprintf( namelist, "%s%s %s%s ", strcmp( ops, "root" ) == 0 || strcmp( ops, "both" ) ? "@" : "", irc->mynick, 677 strcmp( ops, "user" ) == 0 || strcmp( ops, "both" ) ? "@" : "", irc->nick ); 678 682 sprintf( namelist, "%s%s %s%s ", set_getbool(&irc->set, "op_root") ? "@" : "", irc->mynick, 683 set_getbool(&irc->set, "op_user") ? "@" : "", irc->nick ); 684 685 /* TODO: Honor op/voice_buddies in chats?! */ 679 686 for( l = c->in_room; l; l = l->next ) if( ( u = user_findhandle( c->ic, l->data ) ) ) 680 687 {
Note: See TracChangeset
for help on using the changeset viewer.