Changes in irc.c [b0a33a5:0383943]
Legend:
- Unmodified
- Added
- Removed
-
irc.c
rb0a33a5 r0383943 33 33 GSList *irc_connection_list = NULL; 34 34 35 static char *passchange (irc_t *irc, void *set, char *value) 36 { 37 irc_setpass (irc, value); 38 return (NULL); 35 static char *passchange( set_t *set, char *value ) 36 { 37 irc_t *irc = set->data; 38 39 irc_setpass( irc, value ); 40 irc_usermsg( irc, "Password successfully changed" ); 41 return NULL; 39 42 } 40 43 … … 123 126 irc_connection_list = g_slist_append( irc_connection_list, irc ); 124 127 125 set_add( irc, "away_devoice", "true", set_eval_away_devoice);126 set_add( irc, "auto_connect", "true", set_eval_bool);127 set_add( irc, "auto_reconnect", "false", set_eval_bool);128 set_add( irc, "auto_reconnect_delay", "300", set_eval_int);129 set_add( irc, "buddy_sendbuffer", "false", set_eval_bool);130 set_add( irc, "buddy_sendbuffer_delay", "200", set_eval_int);131 set_add( irc, "charset", "iso8859-1", set_eval_charset);132 set_add( irc, "debug", "false", set_eval_bool);133 set_add( irc, "default_target", "root", NULL);134 set_add( irc, "display_namechanges", "false", set_eval_bool);135 set_add( irc, "handle_unknown", "root", NULL);136 set_add( irc, "lcnicks", "true", set_eval_bool);137 set_add( irc, "ops", "both", set_eval_ops);138 set_add( irc, "private", "true", set_eval_bool);139 set_add( irc, "query_order", "lifo", NULL);140 set_add( irc, "save_on_quit", "true", set_eval_bool);141 set_add( irc, "strip_html", "true", NULL);142 set_add( irc, "to_char", ": ", set_eval_to_char);143 set_add( irc, "typing_notice", "false", set_eval_bool);144 set_add( irc, "password", NULL, passchange);128 set_add( &irc->set, "away_devoice", "true", set_eval_away_devoice, irc ); 129 set_add( &irc->set, "auto_connect", "true", set_eval_bool, irc ); 130 set_add( &irc->set, "auto_reconnect", "false", set_eval_bool, irc ); 131 set_add( &irc->set, "auto_reconnect_delay", "300", set_eval_int, irc ); 132 set_add( &irc->set, "buddy_sendbuffer", "false", set_eval_bool, irc ); 133 set_add( &irc->set, "buddy_sendbuffer_delay", "200", set_eval_int, irc ); 134 set_add( &irc->set, "charset", "iso8859-1", set_eval_charset, irc ); 135 set_add( &irc->set, "debug", "false", set_eval_bool, irc ); 136 set_add( &irc->set, "default_target", "root", NULL, irc ); 137 set_add( &irc->set, "display_namechanges", "false", set_eval_bool, irc ); 138 set_add( &irc->set, "handle_unknown", "root", NULL, irc ); 139 set_add( &irc->set, "lcnicks", "true", set_eval_bool, irc ); 140 set_add( &irc->set, "ops", "both", set_eval_ops, irc ); 141 set_add( &irc->set, "password", NULL, passchange, irc ); 142 set_add( &irc->set, "private", "true", set_eval_bool, irc ); 143 set_add( &irc->set, "query_order", "lifo", NULL, irc ); 144 set_add( &irc->set, "save_on_quit", "true", set_eval_bool, irc ); 145 set_add( &irc->set, "strip_html", "true", NULL, irc ); 146 set_add( &irc->set, "to_char", ": ", set_eval_to_char, irc ); 147 set_add( &irc->set, "typing_notice", "false", set_eval_bool, irc ); 145 148 146 149 conf_loaddefaults( irc ); … … 206 209 void irc_free(irc_t * irc) 207 210 { 208 account_t *account , *accounttmp;211 account_t *account; 209 212 user_t *user, *usertmp; 210 nick_t *nick, *nicktmp;211 213 help_t *helpnode, *helpnodetmp; 212 set_t *setnode, *setnodetmp;213 214 214 215 log_message( LOGLVL_INFO, "Destroying connection with fd %d", irc->fd ); 215 216 216 if( irc->status & USTATUS_IDENTIFIED && set_get int( irc, "save_on_quit" ) )217 if( irc->status & USTATUS_IDENTIFIED && set_getbool( &irc->set, "save_on_quit" ) ) 217 218 if( storage_save( irc, TRUE ) != STORAGE_OK ) 218 219 irc_usermsg( irc, "Error while saving settings!" ); … … 254 255 query_del(irc, irc->queries); 255 256 256 if (irc->accounts != NULL) { 257 account = irc->accounts; 258 while (account != NULL) { 259 g_free(account->user); 260 g_free(account->pass); 261 g_free(account->server); 262 accounttmp = account; 263 account = account->next; 264 g_free(accounttmp); 265 } 266 } 257 while (irc->accounts) 258 account_del(irc, irc->accounts); 259 260 while (irc->set) 261 set_del(&irc->set, irc->set->key); 267 262 268 263 if (irc->users != NULL) { … … 289 284 g_hash_table_destroy(irc->watches); 290 285 291 if (irc->nicks != NULL) {292 nick = irc->nicks;293 while (nick != NULL) {294 g_free(nick->nick);295 g_free(nick->handle);296 297 nicktmp = nick;298 nick = nick->next;299 g_free(nicktmp);300 }301 }302 286 if (irc->help != NULL) { 303 287 helpnode = irc->help; … … 310 294 } 311 295 } 312 if (irc->set != NULL) {313 setnode = irc->set;314 while (setnode != NULL) {315 g_free(setnode->key);316 g_free(setnode->def);317 g_free(setnode->value);318 319 setnodetmp = setnode;320 setnode = setnode->next;321 g_free(setnodetmp);322 }323 }324 296 g_free(irc); 325 297 … … 332 304 void irc_setpass (irc_t *irc, const char *pass) 333 305 { 334 if (irc->password)g_free (irc->password);306 g_free (irc->password); 335 307 336 308 if (pass) { 337 309 irc->password = g_strdup (pass); 338 irc_usermsg (irc, "Password successfully changed");339 310 } else { 340 311 irc->password = NULL; … … 367 338 } 368 339 369 if( ( cs = set_getstr( irc, "charset" ) ) && ( g_strcasecmp( cs, "utf-8" ) != 0 ) )340 if( ( cs = set_getstr( &irc->set, "charset" ) ) && ( g_strcasecmp( cs, "utf-8" ) != 0 ) ) 370 341 { 371 342 conv[IRC_MAX_LINE] = 0; … … 587 558 588 559 strip_newlines( line ); 589 if( ( cs = set_getstr( irc, "charset" ) ) && ( g_strcasecmp( cs, "utf-8" ) != 0 ) )560 if( ( cs = set_getstr( &irc->set, "charset" ) ) && ( g_strcasecmp( cs, "utf-8" ) != 0 ) ) 590 561 { 591 562 char conv[IRC_MAX_LINE+1]; … … 655 626 char namelist[385] = ""; 656 627 struct conversation *c = NULL; 657 char *ops = set_getstr( irc, "ops" );628 char *ops = set_getstr( &irc->set, "ops" ); 658 629 659 630 /* RFCs say there is no error reply allowed on NAMES, so when the … … 670 641 } 671 642 672 if( u->gc && !u->away && set_get int( irc, "away_devoice" ) )643 if( u->gc && !u->away && set_getbool( &irc->set, "away_devoice" ) ) 673 644 strcat( namelist, "+" ); 674 645 else if( ( strcmp( u->nick, irc->mynick ) == 0 && ( strcmp( ops, "root" ) == 0 || strcmp( ops, "both" ) == 0 ) ) || … … 930 901 { 931 902 char *nick, *s; 932 char reason[ 64];903 char reason[128]; 933 904 934 905 if( u->gc && u->gc->flags & OPT_LOGGING_OUT ) 935 906 { 936 if( u->gc-> user->proto_opt[0][0])907 if( u->gc->acc->server ) 937 908 g_snprintf( reason, sizeof( reason ), "%s %s", irc->myhost, 938 u->gc-> user->proto_opt[0]);909 u->gc->acc->server ); 939 910 else if( ( s = strchr( u->gc->username, '@' ) ) ) 940 911 g_snprintf( reason, sizeof( reason ), "%s %s", irc->myhost, … … 942 913 else 943 914 g_snprintf( reason, sizeof( reason ), "%s %s.%s", irc->myhost, 944 u->gc-> prpl->name, irc->myhost );915 u->gc->acc->prpl->name, irc->myhost ); 945 916 946 917 /* proto_opt might contain garbage after the : */ … … 1018 989 else if( g_strncasecmp( s + 1, "TYPING", 6 ) == 0 ) 1019 990 { 1020 if( u && u->gc && u->gc-> prpl->send_typing && strlen( s ) >= 10 )991 if( u && u->gc && u->gc->acc->prpl->send_typing && strlen( s ) >= 10 ) 1021 992 { 1022 993 time_t current_typing_notice = time( NULL ); … … 1024 995 if( current_typing_notice - u->last_typing_notice >= 5 ) 1025 996 { 1026 u->gc-> prpl->send_typing( u->gc, u->handle, s[8] == '1' );997 u->gc->acc->prpl->send_typing( u->gc, u->handle, s[8] == '1' ); 1027 998 u->last_typing_notice = current_typing_notice; 1028 999 } … … 1057 1028 } 1058 1029 } 1059 else if( c && c->gc && c->gc-> prpl )1030 else if( c && c->gc && c->gc->acc && c->gc->acc->prpl ) 1060 1031 { 1061 1032 return( bim_chat_msg( c->gc, c->id, s ) ); … … 1089 1060 if( !u || !u->gc ) return; 1090 1061 1091 if( set_get int( irc, "buddy_sendbuffer" ) && set_getint( irc, "buddy_sendbuffer_delay" ) > 0 )1062 if( set_getbool( &irc->set, "buddy_sendbuffer" ) && set_getint( &irc->set, "buddy_sendbuffer_delay" ) > 0 ) 1092 1063 { 1093 1064 int delay; … … 1116 1087 strcat( u->sendbuf, "\n" ); 1117 1088 1118 delay = set_getint( irc, "buddy_sendbuffer_delay" );1089 delay = set_getint( &irc->set, "buddy_sendbuffer_delay" ); 1119 1090 if( delay <= 5 ) 1120 1091 delay *= 1000; … … 1181 1152 int len = strlen( irc->nick) + 3; 1182 1153 prefix = g_new (char, len ); 1183 g_snprintf( prefix, len, "%s%s", irc->nick, set_getstr( irc, "to_char" ) );1154 g_snprintf( prefix, len, "%s%s", irc->nick, set_getstr( &irc->set, "to_char" ) ); 1184 1155 prefix[len-1] = 0; 1185 1156 }
Note: See TracChangeset
for help on using the changeset viewer.