Fix a few parsing bugs in search bounds.
authorMichael Poole <mdpoole@troilus.org>
Mon, 12 Mar 2007 03:48:29 +0000 (23:48 -0400)
committerMichael Poole <mdpoole@troilus.org>
Mon, 12 Mar 2007 03:48:29 +0000 (23:48 -0400)
src/log.c (log_discrim_create): Do not skip parts of the time period if
    the interval is given with no prefix.
src/opserv.c (opserv_discrim_create): Likewise.
  (opserv_cdiscrim_create): Likewise.

src/log.c
src/opserv.c

index 7352b1147db7c67a2ecd6e010c822ce78c3d9bbf..8ac6cfa88fe29b7e53fffa1a688e90127d57e15a 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -650,7 +650,7 @@ log_discrim_create(struct userNode *service, struct userNode *user, unsigned int
                 else
                     discrim->max_time = now - (ParseInterval(cmp+1) - 1);
             } else {
-                discrim->min_time = now - ParseInterval(cmp+2);
+                discrim->min_time = now - ParseInterval(cmp);
             }
         } else if (!irccasecmp(argv[ii], "limit")) {
             discrim->limit = strtoul(argv[++ii], NULL, 10);
index baaf65436f5ec83a8a01092e5b06ce944e01a2bb..d445077b7a132b7fa325f41514af3172d531c8d6 100644 (file)
@@ -3056,7 +3056,7 @@ opserv_discrim_create(struct userNode *user, unsigned int argc, char *argv[], in
                     discrim->max_ts = now - (ParseInterval(cmp+1) - 1);
                 }
             } else {
-                discrim->min_ts = now - ParseInterval(cmp+2);
+                discrim->min_ts = now - ParseInterval(cmp);
             }
         } else if (irccasecmp(argv[i], "access") == 0) {
             const char *cmp = argv[++i];
@@ -3076,7 +3076,7 @@ opserv_discrim_create(struct userNode *user, unsigned int argc, char *argv[], in
                     discrim->min_level = strtoul(cmp+1, NULL, 0) + 1;
                 }
             } else {
-                discrim->min_level = strtoul(cmp+2, NULL, 0);
+                discrim->min_level = strtoul(cmp, NULL, 0);
             }
         } else if ((irccasecmp(argv[i], "abuse") == 0)
                    && (irccasecmp(argv[++i], "opers") == 0)) {
@@ -3507,7 +3507,7 @@ opserv_cdiscrim_create(struct userNode *user, unsigned int argc, char *argv[])
                 else
                     discrim->min_users = strtoul(cmp+1, NULL, 0) + 1;
             } else {
-                discrim->min_users = strtoul(cmp+2, NULL, 0);
+                discrim->min_users = strtoul(cmp, NULL, 0);
             }
        } else if (!irccasecmp(argv[i], "timestamp")) {
            const char *cmp = argv[++i];