added Makefile
[TransparentIRC.git] / src / tools.c
1 /* tools.c - TransparentIRC 0.1
2  * Copyright (C) 2011-2012  Philipp Kreil (pk910)
3  * 
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  * 
14  * You should have received a copy of the GNU General Public License 
15  * along with this program. If not, see <http://www.gnu.org/licenses/>. 
16  */
17 #include "tools.h"
18
19 int stricmp(const char *s1, const char *s2) {
20     if (s1 == NULL) return s2 == NULL ? 0 : -(*s2);
21     if (s2 == NULL) return *s1;
22     char c1, c2;
23     while ((c1 = tolower (*s1)) == (c2 = tolower (*s2))) {
24         if (*s1 == '\0') break;
25         ++s1; ++s2;
26     }
27     return c1 - c2;
28 }
29
30 int stricmplen(const char *s1, const char *s2, int len) {
31     if (s1 == NULL) return s2 == NULL ? 0 : -(*s2);
32     if (s2 == NULL) return *s1;
33     char c1, c2;
34     int i = 0;
35     while ((c1 = tolower (*s1)) == (c2 = tolower (*s2))) {
36         i++;
37         if (*s1 == '\0') break;
38         ++s1; ++s2;
39         if(i == len) break;
40     }
41     return c1 - c2;
42 }