From 88eaf4b49855a8069fce79296f2d271b6c6c654c Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sun, 6 Jun 2010 02:24:13 +0100 Subject: buddy_sendbuffer should be renamed, since it has to work for users and chats. For smooth transitions, add an old_key attribute to settings which can be used as a (temporary) alias. --- irc.c | 6 ++++-- set.c | 8 +++++--- set.h | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/irc.c b/irc.c index 13a77a72..6b95461e 100644 --- a/irc.c +++ b/irc.c @@ -98,8 +98,6 @@ irc_t *irc_new( int fd ) b->ui = &irc_ui_funcs; s = set_add( &b->set, "away_devoice", "true", NULL/*set_eval_away_devoice*/, irc ); - s = set_add( &b->set, "buddy_sendbuffer", "false", set_eval_bool, irc ); - s = set_add( &b->set, "buddy_sendbuffer_delay", "200", set_eval_int, irc ); s = set_add( &b->set, "charset", "utf-8", set_eval_charset, irc ); //s = set_add( &b->set, "control_channel", irc->channel, NULL/*set_eval_control_channel*/, irc ); s = set_add( &b->set, "default_target", "root", NULL, irc ); @@ -108,6 +106,10 @@ irc_t *irc_new( int fd ) s = set_add( &b->set, "handle_unknown", "root", NULL, irc ); s = set_add( &b->set, "lcnicks", "true", set_eval_bool, irc ); s = set_add( &b->set, "ops", "both", NULL/*set_eval_ops*/, irc ); + s = set_add( &b->set, "paste_buffer", "false", set_eval_bool, irc ); + s->old_key = g_strdup( "buddy_sendbuffer" ); + s = set_add( &b->set, "paste_buffer_delay", "200", set_eval_int, irc ); + s->old_key = g_strdup( "buddy_sendbuffer_delay" ); s = set_add( &b->set, "private", "true", set_eval_bool, irc ); s = set_add( &b->set, "query_order", "lifo", NULL, irc ); s = set_add( &b->set, "root_nick", ROOT_NICK, NULL/*set_eval_root_nick*/, irc ); diff --git a/set.c b/set.c index 8ecc9690..48a9289b 100644 --- a/set.c +++ b/set.c @@ -68,7 +68,8 @@ set_t *set_find( set_t **head, char *key ) while( s ) { - if( g_strcasecmp( s->key, key ) == 0 ) + if( g_strcasecmp( s->key, key ) == 0 || + ( s->old_key && g_strcasecmp( s->old_key, key ) == 0 ) ) break; s = s->next; } @@ -175,8 +176,9 @@ void set_del( set_t **head, char *key ) *head = s->next; g_free( s->key ); - if( s->value ) g_free( s->value ); - if( s->def ) g_free( s->def ); + g_free( s->old_key ); + g_free( s->value ); + g_free( s->def ); g_free( s ); } } diff --git a/set.h b/set.h index 19ea73fb..5d03dc70 100644 --- a/set.h +++ b/set.h @@ -53,6 +53,7 @@ typedef struct set object this settings belongs to. */ char *key; + char *old_key; /* Previously known as; for smooth upgrades. */ char *value; char *def; /* Default value. If the set_setstr() function notices a new value is exactly the same as -- cgit v1.2.3