#include "hash.h"
#include "numeric.h"
-struct monitor *monitorTable[MONITOR_HASH_SIZE];\r
+struct monitor *monitorTable[MONITOR_HASH_SIZE];
static rb_bh *monitor_heap;
void
static inline unsigned int
hash_monitor_nick(const char *name)
{
- return fnv_hash_upper((const unsigned char *)name, MONITOR_HASH_BITS, 0);
+ return fnv_hash_upper((const unsigned char *)name, MONITOR_HASH_BITS);
}
struct monitor *
find_monitor(const char *name, int add)
{
- struct monitor *monptr;\r
-\r
- unsigned int hashv = hash_monitor_nick(name);\r
-\r
- for(monptr = monitorTable[hashv]; monptr; monptr = monptr->hnext)\r
- {\r
- if(!irccmp(monptr->name, name))\r
- return monptr;\r
- }\r
-\r
- if(add)\r
- {\r
- monptr = rb_bh_alloc(monitor_heap);\r
- rb_strlcpy(monptr->name, name, sizeof(monptr->name));\r
-\r
- monptr->hnext = monitorTable[hashv];\r
- monitorTable[hashv] = monptr;\r
-\r
- return monptr;\r
- }\r
-\r
+ struct monitor *monptr;
+
+ unsigned int hashv = hash_monitor_nick(name);
+
+ for(monptr = monitorTable[hashv]; monptr; monptr = monptr->hnext)
+ {
+ if(!irccmp(monptr->name, name))
+ return monptr;
+ }
+
+ if(add)
+ {
+ monptr = rb_bh_alloc(monitor_heap);
+ rb_strlcpy(monptr->name, name, sizeof(monptr->name));
+
+ monptr->hnext = monitorTable[hashv];
+ monitorTable[hashv] = monptr;
+
+ return monptr;
+ }
+
return NULL;
}
-void\r
-free_monitor(struct monitor *monptr)\r
-{\r
- rb_bh_free(monitor_heap, monptr);\r
+void
+free_monitor(struct monitor *monptr)
+{
+ rb_bh_free(monitor_heap, monptr);
}
/* monitor_signon()
void
monitor_signon(struct Client *client_p)
{
- char buf[USERHOST_REPLYLEN];\r
- struct monitor *monptr = find_monitor(client_p->name, 0);\r
-\r
- /* noones watching this nick */\r
- if(monptr == NULL)\r
- return;\r
-\r
- rb_snprintf(buf, sizeof(buf), "%s!%s@%s", client_p->name, client_p->username, client_p->host);\r
-\r
+ char buf[USERHOST_REPLYLEN];
+ struct monitor *monptr = find_monitor(client_p->name, 0);
+
+ /* noones watching this nick */
+ if(monptr == NULL)
+ return;
+
+ rb_snprintf(buf, sizeof(buf), "%s!%s@%s", client_p->name, client_p->username, client_p->host);
+
sendto_monitor(monptr, form_str(RPL_MONONLINE), me.name, "*", buf);
}
void
monitor_signoff(struct Client *client_p)
{
- struct monitor *monptr = find_monitor(client_p->name, 0);\r
-\r
- /* noones watching this nick */\r
- if(monptr == NULL)\r
- return;\r
-\r
- sendto_monitor(monptr, form_str(RPL_MONOFFLINE), me.name, "*",\r
+ struct monitor *monptr = find_monitor(client_p->name, 0);
+
+ /* noones watching this nick */
+ if(monptr == NULL)
+ return;
+
+ sendto_monitor(monptr, form_str(RPL_MONOFFLINE), me.name, "*",
client_p->name);
}
void
clear_monitor(struct Client *client_p)
{
- struct monitor *monptr;\r
- rb_dlink_node *ptr, *next_ptr;\r
-\r
- RB_DLINK_FOREACH_SAFE(ptr, next_ptr, client_p->localClient->monitor_list.head)\r
- {\r
- monptr = ptr->data;\r
-\r
- rb_dlinkFindDestroy(client_p, &monptr->users);\r
- rb_free_rb_dlink_node(ptr);\r
- }\r
-\r
- client_p->localClient->monitor_list.head = client_p->localClient->monitor_list.tail = NULL;\r
+ struct monitor *monptr;
+ rb_dlink_node *ptr, *next_ptr;
+
+ RB_DLINK_FOREACH_SAFE(ptr, next_ptr, client_p->localClient->monitor_list.head)
+ {
+ monptr = ptr->data;
+
+ rb_dlinkFindDestroy(client_p, &monptr->users);
+ rb_free_rb_dlink_node(ptr);
+ }
+
+ client_p->localClient->monitor_list.head = client_p->localClient->monitor_list.tail = NULL;
client_p->localClient->monitor_list.length = 0;
}