speed up window_item_find by interning name and removing call to channel_find

This commit is contained in:
Ailin Nemui 2014-06-08 02:18:57 +02:00
parent d1e60a3b8f
commit a4c62a3fee
4 changed files with 3 additions and 11 deletions

View File

@ -2,7 +2,6 @@
#include "window-item-rec.h"
char *name;
char *topic;
char *topic_by;
time_t topic_time;

View File

@ -2,7 +2,6 @@
#include "window-item-rec.h"
char *name;
char *address;
char *server_tag;
time_t last_unread_msg;

View File

@ -7,7 +7,7 @@ GHashTable *module_data;
void *window;
STRUCT_SERVER_REC *server;
char *visible_name;
char *name;
time_t createtime;
int data_level;
char *hilight_color;

View File

@ -218,16 +218,10 @@ WI_ITEM_REC *window_item_find_window(WINDOW_REC *window,
WI_ITEM_REC *rec = tmp->data;
if ((server == NULL || rec->server == server) &&
g_ascii_strcasecmp(name, rec->visible_name) == 0)
(g_ascii_strcasecmp(name, rec->visible_name) == 0
|| (rec->name && g_ascii_strcasecmp(name, rec->name) == 0)))
return rec;
}
/* try with channel name too, it's not necessarily
same as visible_name (!channels) */
channel = channel_find(server, name);
if (channel != NULL && window_item_window(channel) == window)
return (WI_ITEM_REC *) channel;
return NULL;
}