Add ircstrlower() function.
[srvx.git] / src / tools.c
index d8080f4926f84fbe1a6732a6f58dcee02cf28f49..10fb8d0fbec2ddcd986e343b6847f40953aa21ff 100644 (file)
@@ -385,6 +385,14 @@ irccasestr(const char *haystack, const char *needle) {
     return NULL;
 }
 
+char *
+ircstrlower(char *str) {
+    size_t ii;
+    for (ii = 0; str[ii] != '\0'; ++ii)
+        str[ii] = tolower(str[ii]);
+    return str;
+}
+
 int
 split_line(char *line, int irc_colon, int argv_size, char *argv[])
 {
@@ -533,6 +541,8 @@ match_ircglob(const char *text, const char *glob)
             return 0;
         m = m_tmp;
         n = ++n_tmp;
+        if (!*n)
+            return 0;
         break;
     case '\\':
         m++;
@@ -853,12 +863,12 @@ unsplit_string(char *set[], unsigned int max, char *dest)
 }
 
 char *
-intervalString(char *output, time_t interval, struct handle_info *hi)
+intervalString(char *output, unsigned long interval, struct handle_info *hi)
 {
     static const struct {
         const char *msg_single;
         const char *msg_plural;
-        long length;
+        unsigned long length;
     } unit[] = {
         { "MSG_YEAR",   "MSG_YEARS", 365 * 24 * 60 * 60 },
         { "MSG_WEEK",   "MSG_WEEKS",   7 * 24 * 60 * 60 },