X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcclient%2Fidlist.c;h=dae275ef89efda7d5679a85a968e18121aaace9b;hb=8d1a8bbf644f67f86e7e1b95cf51d6d49406251f;hp=af4d3476cad6be704525f94546f77559bbe4f774;hpb=5e5526c98cc281231e020220a3a9c3eaa31df68f;p=silc.git diff --git a/lib/silcclient/idlist.c b/lib/silcclient/idlist.c index af4d3476..dae275ef 100644 --- a/lib/silcclient/idlist.c +++ b/lib/silcclient/idlist.c @@ -543,6 +543,7 @@ silc_client_add_client(SilcClient client, SilcClientConnection conn, /* Save the client infos */ client_entry = silc_calloc(1, sizeof(*client_entry)); client_entry->id = id; + client_entry->valid = TRUE; silc_parse_userfqdn(nickname, &nick, &client_entry->server); silc_parse_userfqdn(username, &client_entry->username, &client_entry->hostname); @@ -845,7 +846,7 @@ void silc_client_nickname_format(SilcClient client, char *newnick = NULL; int i, off = 0, len; SilcClientEntry *clients; - uint32 clients_count; + uint32 clients_count = 0; if (!client->params->nickname_format[0]) return; @@ -862,6 +863,13 @@ void silc_client_nickname_format(SilcClient client, if (!clients && !client->params->nickname_force_format) return; + len = 0; + for (i = 0; i < clients_count; i++) + if (clients[i]->valid) + len++; + if (!len) + return; + cp = client->params->nickname_format; while (*cp) { if (*cp == '%') { @@ -925,7 +933,7 @@ void silc_client_nickname_format(SilcClient client, break; for (i = 0; i < clients_count; i++) { - if (strncmp(clients[i]->nickname, newnick, off)) + if (strncasecmp(clients[i]->nickname, newnick, off)) continue; if (strlen(clients[i]->nickname) <= off) continue;