summary refs log tree commit diff stats
path: root/src/common/servlist.c
diff options
context:
space:
mode:
authorBerke Viktor <bviktor@hexchat.org>2012-10-26 15:06:30 +0200
committerBerke Viktor <bviktor@hexchat.org>2012-10-26 15:06:30 +0200
commit1ecc6b3155f6acb9fcc1c0049792408be4f9e913 (patch)
tree3caa2f49e104ba2f0969e2e721a4fe770869af92 /src/common/servlist.c
parente38c6696cddae354c709d1bb9011b27365aa108c (diff)
g_str_hash is inconsistent, always recalculate it
Diffstat (limited to 'src/common/servlist.c')
-rw-r--r--src/common/servlist.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/common/servlist.c b/src/common/servlist.c
index 6529b162..1a262a54 100644
--- a/src/common/servlist.c
+++ b/src/common/servlist.c
@@ -992,6 +992,7 @@ servlist_load_defaults (void)
 {
 	int i = 0, j = 0;
 	ircnet *net = NULL;
+	guint def_hash = g_str_hash ("freenode");
 
 	while (1)
 	{
@@ -1000,21 +1001,27 @@ servlist_load_defaults (void)
 			net = servlist_net_add (def[i].network, def[i].host, FALSE);
 			net->encoding = strdup (IRC_DEFAULT_CHARSET);
 			if (def[i].channel)
+			{
 				net->autojoin = strdup (def[i].channel);
+			}
 			if (def[i].charset)
 			{
 				free (net->encoding);
 				net->encoding = strdup (def[i].charset);
 			}
-			/* 0x8e1b96f7 = ChatJunkies, 0xa45aae6e = freenode */
-			if (g_str_hash (def[i].network) == 0xa45aae6e)
+			if (g_str_hash (def[i].network) == def_hash)
+			{
 				prefs.hex_gui_slist_select = j;
+			}
 			j++;
-		} else
+		}
+		else
 		{
 			servlist_server_add (net, def[i].host);
 			if (!def[i+1].host && !def[i+1].network)
+			{
 				break;
+			}
 		}
 		i++;
 	}