Fix ?csearch max timestamp default value.
[srvx.git] / src / opserv.c
index f7457565dd1d381c202e959ece7b526e3349f1f6..214aa9325137adb03b92dd79047d7d437040dbb7 100644 (file)
@@ -457,15 +457,12 @@ static MODCMD_FUNC(cmd_chaninfo)
     }
     reply("OSMSG_CHANINFO_USER_COUNT", channel->members.used);
     for (n=0; n<channel->members.used; n++) {
-           moden = channel->members.list[n];
-           if (moden->modes & MODE_CHANOP)
-        {
-                if (moden->oplevel >= 0)
-                {
-                    send_message_type(4, user, cmd->parent->bot, " (%d)@%s (%s@%s)", moden->oplevel, moden->user->nick, moden->user->ident, moden->user->hostname);
-                } else {
-                    send_message_type(4, user, cmd->parent->bot, " @%s (%s@%s)", moden->user->nick, moden->user->ident, moden->user->hostname);
-                }
+        moden = channel->members.list[n];
+        if (moden->modes & MODE_CHANOP) {
+            if (moden->oplevel >= 0)
+                send_message_type(4, user, cmd->parent->bot, " @%s:%d (%s@%s)", moden->user->nick, moden->oplevel, moden->user->ident, moden->user->hostname);
+            else
+                send_message_type(4, user, cmd->parent->bot, " @%s (%s@%s)", moden->user->nick, moden->user->ident, moden->user->hostname);
         }
     }
     for (n=0; n<channel->members.used; n++) {
@@ -481,7 +478,7 @@ static MODCMD_FUNC(cmd_chaninfo)
     return 1;
 }
 
-static MODCMD_FUNC(cmd_warn) 
+static MODCMD_FUNC(cmd_warn)
 {
     char *reason, *message;
 
@@ -1077,7 +1074,7 @@ static MODCMD_FUNC(cmd_kickbanall)
     if (!inchan)
         DelChannelUser(bot, channel, "My work here is done", 0);
     reply("OSMSG_KICKALL_DONE", channel->name);
-    return 1;    
+    return 1;
 }
 
 static MODCMD_FUNC(cmd_part)
@@ -1741,7 +1738,7 @@ opserv_new_user_check(struct userNode *user)
 
     /* Gag them if appropriate. */
     for (gag = gagList; gag; gag = gag->next) {
-        if (user_matches_glob(user, gag->mask, 1)) {
+        if (user_matches_glob(user, gag->mask, MATCH_USENICK)) {
             gag_helper_func(user, NULL);
             break;
         }
@@ -3465,6 +3462,9 @@ opserv_cdiscrim_create(struct userNode *user, unsigned int argc, char *argv[])
 
     discrim = calloc(1, sizeof(*discrim));
     discrim->limit = 25;
+    discrim->max_users = ~0;
+    /* So, time_t is frequently signed.  Fun. */
+    discrim->max_ts = (1ul << (CHAR_BIT * sizeof(time_t) - 1)) - 1;
 
     for (i = 0; i < argc; i++) {
        /* Assume all criteria require arguments. */
@@ -3535,10 +3535,10 @@ cdiscrim_match(cdiscrim_t discrim, struct chanNode *chan)
 {
     if ((discrim->name && !match_ircglob(chan->name, discrim->name)) ||
         (discrim->topic && !match_ircglob(chan->topic, discrim->topic)) ||
-        (discrim->min_users && chan->members.used < discrim->min_users) ||
-        (discrim->max_users && chan->members.used > discrim->max_users) ||
-        (discrim->min_ts && chan->timestamp < discrim->min_ts) ||
-            (discrim->max_ts && chan->timestamp > discrim->max_ts)) {
+        (chan->members.used < discrim->min_users) ||
+        (chan->members.used > discrim->max_users) ||
+        (chan->timestamp < discrim->min_ts) ||
+        (chan->timestamp > discrim->max_ts)) {
        return 0;
     }
     return 1;
@@ -3761,7 +3761,7 @@ opserv_alert_check_nick(struct userNode *user, UNUSED_ARG(const char *old_nick))
     /* Gag them if appropriate (and only if). */
     user->modes &= ~FLAGS_GAGGED;
     for (gag = gagList; gag; gag = gag->next) {
-        if (user_matches_glob(user, gag->mask, 1)) {
+        if (user_matches_glob(user, gag->mask, MATCH_USENICK)) {
             gag_helper_func(user, NULL);
             break;
         }