Properly check alerts based on numchannels criteria
authorMichael Poole <mdpoole@troilus.org>
Tue, 19 Jul 2005 18:31:26 +0000 (18:31 +0000)
committerMichael Poole <mdpoole@troilus.org>
Tue, 19 Jul 2005 18:31:26 +0000 (18:31 +0000)
src/opserv.c (opserv_add_user_alert): Channel alerts also include ones
  with non-zero min_channels.  Allow an alert to be both channel-based
  and nick-based.
git-archimport-id: srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-25

ChangeLog
src/opserv.c

index e273b965fec833c6010d2737fe2d9d743b24bf86..c016eb1c3a66d65d7e6eebdae92ade89449ad014 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,21 @@
 # arch-tag: automatic-ChangeLog--srvx@srvx.net--2005-srvx/srvx--devo--1.3
 #
 
+2005-07-19 18:31:26 GMT        Michael Poole <mdpoole@troilus.org>     patch-25
+
+    Summary:
+      Properly check alerts based on numchannels criteria
+    Revision:
+      srvx--devo--1.3--patch-25
+
+    src/opserv.c (opserv_add_user_alert): Channel alerts also include ones
+      with non-zero min_channels.  Allow an alert to be both channel-based
+      and nick-based.
+
+    modified files:
+     ChangeLog src/opserv.c
+
+
 2005-07-19 18:18:48 GMT        Michael Poole <mdpoole@troilus.org>     patch-24
 
     Summary:
index 77448b7069f241bb5afedc9030a0fcea6439460a..d3fbb7dff4c5530ccc1d7d2d3bac5c4dd7e793b4 100644 (file)
@@ -2562,9 +2562,14 @@ opserv_add_user_alert(struct userNode *req, const char *name, opserv_alert_react
         alert->discrim->reason = strdup(name);
     alert->reaction = reaction;
     dict_insert(opserv_user_alerts, name_dup, alert);
-    if (alert->discrim->channel)
+    /* Stick the alert into the appropriate additional alert dict(s).
+     * For channel alerts, we only use channels and min_channels;
+     * max_channels would have to be checked on /part, which we do not
+     * yet do, and which seems of questionable value.
+     */
+    if (alert->discrim->channel || alert->discrim->min_channels)
         dict_insert(opserv_channel_alerts, name_dup, alert);
-    else if (alert->discrim->mask_nick)
+    if (alert->discrim->mask_nick)
         dict_insert(opserv_nick_based_alerts, name_dup, alert);
     return alert;
 }