Changes in / [783e9b7:51bbec0]
- Files:
-
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
bitlbee.c
r783e9b7 r51bbec0 54 54 ; 55 55 56 i = getaddrinfo( global.conf->iface _in, global.conf->port, &hints, &addrinfo_bind );56 i = getaddrinfo( global.conf->iface, global.conf->port, &hints, &addrinfo_bind ); 57 57 if( i ) 58 58 { 59 59 log_message( LOGLVL_ERROR, "Couldn't parse address `%s': %s", 60 global.conf->iface _in, gai_strerror(i) );60 global.conf->iface, gai_strerror(i) ); 61 61 return -1; 62 62 } … … 226 226 if( st == size ) 227 227 { 228 g_free( irc->sendbuffer ); 229 irc->sendbuffer = NULL; 230 irc->w_watch_source_id = 0; 231 228 232 if( irc->status & USTATUS_SHUTDOWN ) 229 {230 233 irc_free( irc ); 231 }232 else233 {234 g_free( irc->sendbuffer );235 irc->sendbuffer = NULL;236 irc->w_watch_source_id = 0;237 }238 234 239 235 return FALSE; -
bitlbee.conf
r783e9b7 r51bbec0 34 34 # DaemonInterface = 0.0.0.0 35 35 # DaemonPort = 6667 36 37 ## ClientInterface:38 ##39 ## If for any reason, you want BitlBee to use a specific address/interface40 ## for outgoing traffic (IM connections, HTTP(S), etc.), set it here.41 ##42 # ClientInterface = 0.0.0.043 36 44 37 ## AuthMode -
bitlbee.h
r783e9b7 r51bbec0 156 156 gboolean bitlbee_shutdown( gpointer data, gint fd, b_input_condition cond ); 157 157 158 char *set_eval_root_nick( set_t *set, char *new_nick );159 160 158 extern global_t global; 161 159 -
conf.c
r783e9b7 r51bbec0 45 45 conf = g_new0( conf_t, 1 ); 46 46 47 conf->iface_in = NULL; 48 conf->iface_out = NULL; 47 conf->iface = NULL; 49 48 conf->port = g_strdup( "6667" ); 50 49 conf->nofork = 0; … … 83 82 if( opt == 'i' ) 84 83 { 85 conf->iface _in= g_strdup( optarg );84 conf->iface = g_strdup( optarg ); 86 85 } 87 86 else if( opt == 'p' ) … … 203 202 else if( g_strcasecmp( ini->key, "daemoninterface" ) == 0 ) 204 203 { 205 g_free( conf->iface _in);206 conf->iface _in= g_strdup( ini->value );204 g_free( conf->iface ); 205 conf->iface = g_strdup( ini->value ); 207 206 } 208 207 else if( g_strcasecmp( ini->key, "daemonport" ) == 0 ) … … 210 209 g_free( conf->port ); 211 210 conf->port = g_strdup( ini->value ); 212 }213 else if( g_strcasecmp( ini->key, "clientinterface" ) == 0 )214 {215 g_free( conf->iface_out );216 conf->iface_out = g_strdup( ini->value );217 211 } 218 212 else if( g_strcasecmp( ini->key, "authmode" ) == 0 ) -
conf.h
r783e9b7 r51bbec0 32 32 typedef struct conf 33 33 { 34 char *iface _in, *iface_out;34 char *iface; 35 35 char *port; 36 36 int nofork; -
debian/changelog
r783e9b7 r51bbec0 7 7 bitlbee (1.2-4) unstable; urgency=low 8 8 9 * Not a real release, just a placeholder for the changelog. 9 10 * Fixed init script to use the BITLBEE_OPTS variable, not an undefined 10 DAEMON_OPT. (Closes: #474583)11 DAEMON_OPT. 11 12 * Added dependency information to the init script. (Closes: #472567) 12 * Added bitlbee-dev package. Patch from RISKO Gergely <risko@debian.org> 13 with some small modifications. (Closes: #473480) 14 15 -- Wilmer van der Gaast <wilmer@gaast.net> Wed, 07 May 2008 22:40:40 -0700 13 14 -- Wilmer van der Gaast <wilmer@gaast.net> Sat, 29 Mar 2008 21:10:33 +0000 16 15 17 16 bitlbee (1.2-3) unstable; urgency=low -
debian/control
r783e9b7 r51bbec0 14 14 This program can be used as an IRC server which forwards everything you 15 15 say to people on other chat networks: Jabber, ICQ, AIM, MSN and Yahoo. 16 17 Package: bitlbee-dev18 Architecture: all19 Depends: bitlbee (= ${binary:Version})20 Description: An IRC to other chat networks gateway21 This program can be used as an IRC server which forwards everything you22 say to people on other chat networks: Jabber, ICQ, AIM, MSN and Yahoo.23 .24 This package holds development stuff for compiling plug-ins. -
debian/rules
r783e9b7 r51bbec0 13 13 build-arch: build-arch-stamp 14 14 build-arch-stamp: 15 [ -d debian ]15 if [ ! -d debian ]; then exit 1; fi 16 16 ./configure --debug=$(DEBUG) --prefix=/usr --etcdir=/etc/bitlbee --events=libevent 17 17 $(MAKE) … … 20 20 21 21 clean: 22 [ "`whoami`" = "root" -a -d debian ]23 rm -rf build-arch-stamp debian/bitlbee debian/*.substvars debian/files debian/bitlbee-dev22 if [ "`whoami`" != "root" -o ! -d debian ]; then exit 1; fi 23 rm -rf build-arch-stamp debian/bitlbee debian/*.substvars debian/files 24 24 -$(MAKE) distclean 25 25 # -$(MAKE) -C doc/ clean … … 27 27 28 28 install-arch: build-arch 29 [ "`whoami`" = "root" -a -d debian ]29 if [ "`whoami`" != "root" -o ! -d debian ]; then exit 1; fi 30 30 mkdir -p debian/bitlbee/DEBIAN/ 31 31 $(MAKE) install install-etc DESTDIR=`pwd`/debian/bitlbee … … 35 35 cp doc/user-guide/user-guide.html debian/bitlbee/usr/share/doc/bitlbee/ 36 36 37 install-indep: install-arch38 [ "`whoami`" = "root" -a -d debian ]39 mkdir -p debian/bitlbee-dev/DEBIAN/40 $(MAKE) install-dev DESTDIR=`pwd`/debian/bitlbee-dev41 42 mkdir -p debian/bitlbee-dev/usr/share/doc/bitlbee-dev/43 44 37 binary-arch: build-arch install-arch 45 [ "`whoami`" = "root" -a -d debian ]38 if [ "`whoami`" != "root" -o ! -d debian ]; then exit 1; fi 46 39 47 40 chmod 755 debian/post* debian/pre* debian/config debian/bitlbee.init … … 59 52 doc/bitlbee/examples/* man/man8/bitlbee.8 man/man5/bitlbee.conf.5 60 53 61 chown -R root :root debian/bitlbee/54 chown -R root.root debian/bitlbee/ 62 55 find debian/bitlbee/usr/share/ -type d -exec chmod 755 {} \; 63 56 find debian/bitlbee/usr/share/ -type f -exec chmod 644 {} \; … … 84 77 dpkg --build debian/bitlbee .. 85 78 86 binary-indep: install-indep 87 [ "`whoami`" = "root" -a -d debian ]79 debug-build: 80 BITLBEE_VERSION=\"`date +%Y%m%d`-`hostname`-debug\" debian/rules clean binary DEBUG=1 88 81 89 chown -R root.root debian/bitlbee-dev/ 90 find debian/bitlbee-dev/usr/share/ -type d -exec chmod 755 {} \; 91 find debian/bitlbee-dev/usr/share/ -type f -exec chmod 644 {} \; 82 binary: binary-arch 83 build: build-arch 84 install: install-arch 92 85 93 cp debian/changelog debian/bitlbee-dev/usr/share/doc/bitlbee-dev/changelog.Debian 94 gzip -9 debian/bitlbee-dev/usr/share/doc/bitlbee-dev/changelog.Debian 95 cp debian/copyright debian/bitlbee-dev/usr/share/doc/bitlbee-dev/copyright 96 97 cd debian/bitlbee-dev; \ 98 find usr -type f -exec md5sum {} \; > DEBIAN/md5sums 99 100 dpkg-gencontrol -ldebian/changelog -isp -pbitlbee-dev -Pdebian/bitlbee-dev 101 102 dpkg --build debian/bitlbee-dev .. 103 104 binary: binary-arch binary-indep 105 build: build-arch 106 install: install-arch install-indep 107 108 .PHONY: build-arch build clean binary-arch binary install-arch install binary-indep install-indep 86 .PHONY: build-arch build clean binary-arch binary install-arch install -
doc/user-guide/commands.xml
r783e9b7 r51bbec0 589 589 </bitlbee-setting> 590 590 591 <bitlbee-setting name="root_nick" type="string" scope="global">592 <default>root</default>593 594 <description>595 <para>596 Normally the "bot" that takes all your BitlBee commands is called "root". If you don't like this name, you can rename it to anything else using the <emphasis>rename</emphasis> command, or by changing this setting.597 </para>598 </description>599 </bitlbee-setting>600 601 591 <bitlbee-setting name="save_on_quit" type="boolean" scope="global"> 602 592 <default>true</default> -
irc.c
r783e9b7 r51bbec0 151 151 set_add( &irc->set, "private", "true", set_eval_bool, irc ); 152 152 set_add( &irc->set, "query_order", "lifo", NULL, irc ); 153 set_add( &irc->set, "root_nick", irc->mynick, set_eval_root_nick, irc );154 153 set_add( &irc->set, "save_on_quit", "true", set_eval_bool, irc ); 155 154 set_add( &irc->set, "simulate_netsplit", "true", set_eval_bool, irc ); … … 200 199 if( irc->sendbuffer && !immed ) 201 200 { 202 /* Set up a timeout event that should shut down the connection 203 in a second, just in case ..._write doesn't do it first. */ 201 /* We won't read from this socket anymore. Instead, we'll connect a timer 202 to it that should shut down the connection in a second, just in case 203 bitlbee_.._write doesn't do it first. */ 204 204 205 205 b_event_remove( irc->r_watch_source_id ); 206 irc->r_watch_source_id = 0; 207 208 b_event_remove( irc->ping_source_id ); 209 irc->ping_source_id = b_timeout_add( 1000, (b_event_handler) irc_free, irc ); 206 irc->r_watch_source_id = b_timeout_add( 1000, (b_event_handler) irc_free, irc ); 210 207 } 211 208 else … … 277 274 if( irc->ping_source_id > 0 ) 278 275 b_event_remove( irc->ping_source_id ); 279 if( irc->r_watch_source_id > 0 ) 280 b_event_remove( irc->r_watch_source_id ); 276 b_event_remove( irc->r_watch_source_id ); 281 277 if( irc->w_watch_source_id > 0 ) 282 278 b_event_remove( irc->w_watch_source_id ); -
lib/arc.h
r783e9b7 r51bbec0 31 31 }; 32 32 33 #ifndef G_GNUC_MALLOC34 #define G_GNUC_MALLOC35 #endif36 37 33 G_GNUC_MALLOC struct arc_state *arc_keymaker( unsigned char *key, int kl, int cycles ); 38 34 unsigned char arc_getbyte( struct arc_state *st ); -
lib/proxy.c
r783e9b7 r51bbec0 114 114 { 115 115 struct sockaddr_in *sin; 116 struct sockaddr_in me;117 116 int fd = -1; 118 117 … … 128 127 129 128 sock_make_nonblocking(fd); 130 131 if( global.conf->iface_out )132 {133 me.sin_family = AF_INET;134 me.sin_port = 0;135 me.sin_addr.s_addr = inet_addr( global.conf->iface_out );136 137 if( bind( fd, (struct sockaddr *) &me, sizeof( me ) ) != 0 )138 event_debug( "bind( %d, \"%s\" ) failure\n", fd, global.conf->iface_out );139 }140 129 141 130 event_debug("proxy_connect_none( \"%s\", %d ) = %d\n", host, port, fd); -
protocols/jabber/jabber_util.c
r783e9b7 r51bbec0 246 246 }; 247 247 248 static void jabber_buddy_ask_yes( void *data ) 249 { 250 struct jabber_buddy_ask_data *bla = data; 251 248 static void jabber_buddy_ask_yes( gpointer w, struct jabber_buddy_ask_data *bla ) 249 { 252 250 presence_send_request( bla->ic, bla->handle, "subscribed" ); 253 251 … … 259 257 } 260 258 261 static void jabber_buddy_ask_no( void *data ) 262 { 263 struct jabber_buddy_ask_data *bla = data; 264 259 static void jabber_buddy_ask_no( gpointer w, struct jabber_buddy_ask_data *bla ) 260 { 265 261 presence_send_request( bla->ic, bla->handle, "subscribed" ); 266 262 -
protocols/msn/msn.h
r783e9b7 r51bbec0 29 29 #define GROUPCHAT_SWITCHBOARD_MESSAGE "\r\r\rME WANT TALK TO MANY PEOPLE\r\r\r" 30 30 31 #ifdef DEBUG _MSN31 #ifdef DEBUG 32 32 #define debug( text... ) imcb_log( ic, text ); 33 33 #else -
protocols/msn/msn_util.c
r783e9b7 r51bbec0 90 90 }; 91 91 92 static void msn_buddy_ask_yes( void *data ) 93 { 94 struct msn_buddy_ask_data *bla = data; 95 92 static void msn_buddy_ask_yes( gpointer w, struct msn_buddy_ask_data *bla ) 93 { 96 94 msn_buddy_list_add( bla->ic, "AL", bla->handle, bla->realname ); 97 95 … … 104 102 } 105 103 106 static void msn_buddy_ask_no( void *data ) 107 { 108 struct msn_buddy_ask_data *bla = data; 109 104 static void msn_buddy_ask_no( gpointer w, struct msn_buddy_ask_data *bla ) 105 { 110 106 msn_buddy_list_add( bla->ic, "BL", bla->handle, bla->realname ); 111 107 -
protocols/msn/ns.c
r783e9b7 r51bbec0 178 178 179 179 debug( "Connecting to a new switchboard with key %s", cmd[5] ); 180 181 if( ( sb = msn_sb_create( ic, server, port, cmd[5], MSN_SB_NEW ) ) == NULL ) 182 { 183 /* Although this isn't strictly fatal for the NS connection, it's 184 definitely something serious (we ran out of file descriptors?). */ 185 imcb_error( ic, "Could not create new switchboard" ); 186 imc_logout( ic, TRUE ); 187 return( 0 ); 188 } 180 sb = msn_sb_create( ic, server, port, cmd[5], MSN_SB_NEW ); 189 181 190 182 if( md->msgq ) … … 476 468 debug( "Got a call from %s (session %d). Key = %s", cmd[5], session, cmd[4] ); 477 469 478 if( ( sb = msn_sb_create( ic, server, port, cmd[4], session ) ) == NULL ) 479 { 480 /* Although this isn't strictly fatal for the NS connection, it's 481 definitely something serious (we ran out of file descriptors?). */ 482 imcb_error( ic, "Could not create new switchboard" ); 483 imc_logout( ic, TRUE ); 484 return( 0 ); 485 } 486 else 487 { 488 sb->who = g_strdup( cmd[5] ); 489 } 470 sb = msn_sb_create( ic, server, port, cmd[4], session ); 471 sb->who = g_strdup( cmd[5] ); 490 472 } 491 473 else if( strcmp( cmd[0], "ADD" ) == 0 ) -
protocols/nogaim.c
r783e9b7 r51bbec0 343 343 /* dialogs.c */ 344 344 345 void imcb_ask( struct im_connection *ic, char *msg, void *data, 346 query_callback doit, query_callback dont ) 345 void imcb_ask( struct im_connection *ic, char *msg, void *data, void *doit, void *dont ) 347 346 { 348 347 query_add( ic->irc, ic, msg, doit, dont, data ); … … 496 495 }; 497 496 498 void show_got_added_no( void*data )499 { 500 g_free( ((struct show_got_added_data*)data)->handle );497 void show_got_added_no( gpointer w, struct show_got_added_data *data ) 498 { 499 g_free( data->handle ); 501 500 g_free( data ); 502 501 } 503 502 504 void show_got_added_yes( void *data ) 505 { 506 struct show_got_added_data *sga = data; 507 508 sga->ic->acc->prpl->add_buddy( sga->ic, sga->handle, NULL ); 509 /* imcb_add_buddy( sga->ic, NULL, sga->handle, sga->handle ); */ 510 511 return show_got_added_no( data ); 503 void show_got_added_yes( gpointer w, struct show_got_added_data *data ) 504 { 505 data->ic->acc->prpl->add_buddy( data->ic, data->handle, NULL ); 506 /* imcb_add_buddy( data->ic, NULL, data->handle, data->handle ); */ 507 508 return show_got_added_no( w, data ); 512 509 } 513 510 -
protocols/nogaim.h
r783e9b7 r51bbec0 42 42 #include "account.h" 43 43 #include "proxy.h" 44 #include "query.h"45 44 #include "md5.h" 46 45 … … 262 261 * - 'doit' or 'dont' will be called depending of the answer of the user. 263 262 */ 264 G_MODULE_EXPORT void imcb_ask( struct im_connection *ic, char *msg, void *data, query_callback doit, query_callbackdont );263 G_MODULE_EXPORT void imcb_ask( struct im_connection *ic, char *msg, void *data, void *doit, void *dont ); 265 264 G_MODULE_EXPORT void imcb_ask_add( struct im_connection *ic, char *handle, const char *realname ); 266 265 -
protocols/oscar/oscar.c
r783e9b7 r51bbec0 1084 1084 } 1085 1085 1086 void oscar_accept_chat( void *data);1087 void oscar_reject_chat( void *data);1086 void oscar_accept_chat(gpointer w, struct aim_chat_invitation * inv); 1087 void oscar_reject_chat(gpointer w, struct aim_chat_invitation * inv); 1088 1088 1089 1089 static int incomingim_chan2(aim_session_t *sess, aim_conn_t *conn, aim_userinfo_t *userinfo, struct aim_incomingim_ch2_args *args) { … … 1119 1119 } 1120 1120 1121 static void gaim_icq_authgrant(void *data_) { 1122 struct icq_auth *data = data_; 1121 static void gaim_icq_authgrant(gpointer w, struct icq_auth *data) { 1123 1122 char *uin, message; 1124 1123 struct oscar_data *od = (struct oscar_data *)data->ic->proto_data; … … 1135 1134 } 1136 1135 1137 static void gaim_icq_authdeny(void *data_) { 1138 struct icq_auth *data = data_; 1136 static void gaim_icq_authdeny(gpointer w, struct icq_auth *data) { 1139 1137 char *uin, *message; 1140 1138 struct oscar_data *od = (struct oscar_data *)data->ic->proto_data; … … 2590 2588 } 2591 2589 2592 void oscar_accept_chat( void *data)2590 void oscar_accept_chat(gpointer w, struct aim_chat_invitation * inv) 2593 2591 { 2594 struct aim_chat_invitation * inv = data;2595 2596 2592 oscar_chat_join(inv->ic, inv->name, NULL, NULL); 2597 2593 g_free(inv->name); … … 2599 2595 } 2600 2596 2601 void oscar_reject_chat( void *data)2597 void oscar_reject_chat(gpointer w, struct aim_chat_invitation * inv) 2602 2598 { 2603 struct aim_chat_invitation * inv = data;2604 2605 2599 g_free(inv->name); 2606 2600 g_free(inv); -
protocols/yahoo/yahoo.c
r783e9b7 r51bbec0 797 797 } 798 798 799 static void byahoo_accept_conf( void *data ) 800 { 801 struct byahoo_conf_invitation *inv = data; 802 799 static void byahoo_accept_conf( gpointer w, struct byahoo_conf_invitation *inv ) 800 { 803 801 yahoo_conference_logon( inv->yid, NULL, inv->members, inv->name ); 804 802 imcb_chat_add_buddy( inv->c, inv->ic->acc->user ); … … 807 805 } 808 806 809 static void byahoo_reject_conf( void *data ) 810 { 811 struct byahoo_conf_invitation *inv = data; 812 807 static void byahoo_reject_conf( gpointer w, struct byahoo_conf_invitation *inv ) 808 { 813 809 yahoo_conference_decline( inv->yid, NULL, inv->members, inv->name, "User rejected groupchat" ); 814 810 imcb_chat_free( inv->c ); -
query.c
r783e9b7 r51bbec0 30 30 static query_t *query_default( irc_t *irc ); 31 31 32 query_t *query_add( irc_t *irc, struct im_connection *ic, char *question, 33 query_callback yes, query_callback no, void *data ) 32 query_t *query_add( irc_t *irc, struct im_connection *ic, char *question, void *yes, void *no, void *data ) 34 33 { 35 34 query_t *q = g_new0( query_t, 1 ); … … 145 144 else 146 145 irc_usermsg( irc, "Accepted: %s", q->question ); 147 q->yes( q->data );146 q->yes( NULL, q->data ); 148 147 } 149 148 else … … 153 152 else 154 153 irc_usermsg( irc, "Rejected: %s", q->question ); 155 q->no( q->data );154 q->no( NULL, q->data ); 156 155 } 157 156 q->data = NULL; -
query.h
r783e9b7 r51bbec0 27 27 #define _QUERY_H 28 28 29 typedef void (*query_callback) ( void *data );30 31 29 typedef struct query 32 30 { 33 31 struct im_connection *ic; 34 32 char *question; 35 query_callback yes, no; 33 void (* yes) ( gpointer w, void *data ); 34 void (* no) ( gpointer w, void *data ); 36 35 void *data; 37 36 struct query *next; 38 37 } query_t; 39 38 40 query_t *query_add( irc_t *irc, struct im_connection *ic, char *question, 41 query_callback yes, query_callback no, void *data ); 39 query_t *query_add( irc_t *irc, struct im_connection *ic, char *question, void *yes, void *no, void *data ); 42 40 void query_del( irc_t *irc, query_t *q ); 43 41 void query_del_by_conn( irc_t *irc, struct im_connection *ic ); -
root_commands.c
r783e9b7 r51bbec0 204 204 } 205 205 206 struct cmd_account_del_data 207 { 208 account_t *a; 209 irc_t *irc; 210 }; 211 212 void cmd_account_del_yes( void *data ) 213 { 214 struct cmd_account_del_data *cad = data; 215 account_t *a; 216 217 for( a = cad->irc->accounts; a && a != cad->a; a = a->next ); 218 219 if( a == NULL ) 220 { 221 irc_usermsg( cad->irc, "Account already deleted" ); 222 } 223 else if( a->ic ) 224 { 225 irc_usermsg( cad->irc, "Account is still logged in, can't delete" ); 226 } 227 else 228 { 229 account_del( cad->irc, a ); 230 irc_usermsg( cad->irc, "Account deleted" ); 231 } 232 g_free( data ); 233 } 234 235 void cmd_account_del_no( void *data ) 236 { 237 g_free( data ); 206 void cmd_account_del_yes( gpointer w, void *data ) 207 { 208 account_t *a = data; 209 irc_t *irc = a->irc; 210 211 if( a->ic ) 212 { 213 irc_usermsg( irc, "Account is still logged in, can't delete" ); 214 } 215 else 216 { 217 account_del( irc, a ); 218 irc_usermsg( irc, "Account deleted" ); 219 } 220 } 221 222 void cmd_account_del_no( gpointer w, void *data ) 223 { 238 224 } 239 225 … … 292 278 else 293 279 { 294 struct cmd_account_del_data *cad;295 280 char *msg; 296 297 cad = g_malloc( sizeof( struct cmd_account_del_data ) );298 cad->a = a;299 cad->irc = irc;300 281 301 282 msg = g_strdup_printf( "If you remove this account (%s(%s)), BitlBee will " … … 304 285 "set' command. Are you sure you want to delete this " 305 286 "account?", a->prpl->name, a->user ); 306 query_add( irc, NULL, msg, cmd_account_del_yes, cmd_account_del_no, cad);287 query_add( irc, NULL, msg, cmd_account_del_yes, cmd_account_del_no, a ); 307 288 g_free( msg ); 308 289 } … … 423 404 acc_handle = g_strdup( cmd[2] ); 424 405 425 if( !acc_handle )426 {427 irc_usermsg( irc, "Not enough parameters given (need %d)", 3 );428 return;429 }430 431 406 if( ( tmp = strchr( acc_handle, '/' ) ) ) 432 407 { … … 609 584 g_free( irc->mynick ); 610 585 irc->mynick = g_strdup( cmd[2] ); 611 612 if( strcmp( cmd[0], "set_rename" ) != 0 )613 set_setstr( &irc->set, "root_nick", cmd[2] );614 586 } 615 587 else if( u->send_handler == buddy_send_handler ) … … 620 592 irc_usermsg( irc, "Nick successfully changed" ); 621 593 } 622 }623 624 char *set_eval_root_nick( set_t *set, char *new_nick )625 {626 irc_t *irc = set->data;627 628 if( strcmp( irc->mynick, new_nick ) != 0 )629 {630 char *cmd[] = { "set_rename", irc->mynick, new_nick, NULL };631 632 cmd_rename( irc, cmd );633 }634 635 return strcmp( irc->mynick, new_nick ) == 0 ? new_nick : NULL;636 594 } 637 595
Note: See TracChangeset
for help on using the changeset viewer.