Changeset 39f93f0
- Timestamp:
- 2008-08-31T13:42:33Z (16 years ago)
- Branches:
- master
- Children:
- d995c9b
- Parents:
- 0e639f5
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
chat.c
r0e639f5 r39f93f0 139 139 int chat_chanok( char *a ) 140 140 { 141 if( strchr( "&#", a[0] ) != NULL )141 if( strchr( CTYPES, a[0] ) != NULL ) 142 142 return nick_ok( a + 1 ); 143 143 else -
irc.c
r0e639f5 r39f93f0 781 781 irc_reply( irc, 3, ":%s", IRCD_INFO ); 782 782 irc_reply( irc, 4, "%s %s %s %s", irc->myhost, BITLBEE_VERSION, UMODES UMODES_PRIV, CMODES ); 783 irc_reply( irc, 5, "PREFIX=(ov)@+ CHANTYPES=#& CHANMODES=,,,%s NICKLEN=%d NETWORK=BitlBee CASEMAPPING=rfc1459 MAXTARGETS=1 WATCH=128 :are supported by this server", CMODES, MAX_NICK_LENGTH - 1 ); 783 irc_reply( irc, 5, "PREFIX=(ov)@+ CHANTYPES=%s CHANMODES=,,,%s NICKLEN=%d NETWORK=BitlBee " 784 "CASEMAPPING=rfc1459 MAXTARGETS=1 WATCH=128 :are supported by this server", 785 CTYPES, CMODES, MAX_NICK_LENGTH - 1 ); 784 786 irc_motd( irc ); 785 787 irc->umode[0] = '\0'; … … 1022 1024 user_t *u = NULL; 1023 1025 1024 if( *nick == '#' || *nick == '&')1026 if( strchr( CTYPES, *nick ) ) 1025 1027 { 1026 1028 if( !( c = irc_chat_by_channel( irc, nick ) ) ) -
irc.h
r0e639f5 r39f93f0 38 38 #define CMODE "t" 39 39 #define UMODE "s" 40 #define CTYPES "&#" 40 41 41 42 typedef enum … … 96 97 97 98 #include "user.h" 98 // #include "nick.h"99 99 100 100 extern GSList *irc_connection_list; -
irc_commands.c
r0e639f5 r39f93f0 125 125 static void irc_cmd_mode( irc_t *irc, char **cmd ) 126 126 { 127 if( *cmd[1] == '#' || *cmd[1] == '&')127 if( strchr( CTYPES, *cmd[1] ) ) 128 128 { 129 129 if( cmd[2] ) … … 193 193 else if( cmd[1] ) 194 194 { 195 if( ( cmd[1][0] == '#' || cmd[1][0] == '&' ) && cmd[1][1] ) 196 { 197 user_t *u = user_find( irc, cmd[1] + 1 ); 198 199 if( u && u->ic && u->ic->acc->prpl->chat_with ) 200 { 201 irc_reply( irc, 403, "%s :Initializing groupchat in a different channel", cmd[1] ); 202 203 if( !u->ic->acc->prpl->chat_with( u->ic, u->handle ) ) 204 { 205 irc_usermsg( irc, "Could not open a groupchat with %s.", u->nick ); 206 } 207 } 208 else if( u ) 209 { 210 irc_reply( irc, 403, "%s :Groupchats are not possible with %s", cmd[1], cmd[1]+1 ); 211 } 212 else 213 { 214 irc_reply( irc, 403, "%s :No such nick", cmd[1] ); 195 struct groupchat *gc; 196 struct chat *c; 197 user_t *u; 198 199 if( strchr( CTYPES, cmd[1][0] ) == NULL || cmd[1][1] == 0 ) 200 { 201 irc_reply( irc, 403, "%s :No such channel", cmd[1] ); 202 return; 203 } 204 205 if( ( c = chat_bychannel( irc, cmd[1] ) ) ) 206 { 207 char *nick = set_getstr( &c->set, "nick" ); 208 209 if( nick == NULL ) 210 nick = irc->nick; 211 212 if( ( gc = c->acc->prpl->chat_join( c->acc->ic, c->handle, nick, NULL ) ) ) 213 { 214 g_free( gc->channel ); 215 gc->channel = g_strdup( c->channel ); 215 216 } 216 217 } -
root_commands.c
r0e639f5 r39f93f0 1051 1051 cmd_set_real( irc, cmd + 1, cmd_chat_set_findhead ); 1052 1052 } 1053 else if( g_strcasecmp( cmd[1], "with" ) == 0 ) 1054 { 1055 user_t *u; 1056 1057 if( !cmd[2] ) 1058 { 1059 irc_usermsg( irc, "Not enough parameters given (need %d)", 2 ); 1060 return; 1061 } 1062 1063 if( ( u = user_find( irc, cmd[2] ) ) && u->ic && u->ic->acc->prpl->chat_with ) 1064 { 1065 if( !u->ic->acc->prpl->chat_with( u->ic, u->handle ) ) 1066 { 1067 irc_usermsg( irc, "(Possible) failure while trying to open " 1068 "a groupchat with %s.", u->nick ); 1069 } 1070 } 1071 else 1072 { 1073 irc_usermsg( irc, "Can't open a groupchat with %s.", cmd[2] ); 1074 } 1075 } 1053 1076 else 1054 1077 { … … 1084 1107 if( cmd[3] ) 1085 1108 { 1086 if( cmd[3][0] != '#' && cmd[3][0] != '&')1109 if( strchr( CTYPES, cmd[3][0] ) == NULL ) 1087 1110 channel = g_strdup_printf( "&%s", cmd[3] ); 1088 1111 else
Note: See TracChangeset
for help on using the changeset viewer.