return;
}
- char *key = mystrdup(nickname);
- if (!key) abort();
+ char key[MAX_NICKLEN];
+ strcpy(key, nickname);
stringlower(key);
if (trie_get(&client_map, key)) {
sendall_log(client->FD, databuf.buf, databuf.len, 0);
trie_set(&client_map, client->key, NULL, NULL);
free(client->nick);
+ free(client->key);
}
client->nick = mystrdup(nickname);
if (!client->nick)
abort();
- if (trie_set(&client_map, client->key = key, client, 0) == -1)
+ client->key = mystrdup(key);
+ if (!client->key)
+ abort();
+ if (trie_set(&client_map, client->key, client, 0) == -1)
abort();
return;