blob: ce4f84bf286006b05ea2442107f51c3a556b5aeb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <ctype.h>
#include <mlibc/strings.hpp>
namespace mlibc {
int strncasecmp(const char *a, const char *b, size_t size) {
for(size_t i = 0; i < size; i++) {
unsigned char a_byte = tolower(a[i]);
unsigned char b_byte = tolower(b[i]);
if(!a_byte && !b_byte)
return 0;
// If only one char is null, one of the following cases applies.
if(a_byte < b_byte)
return -1;
if(a_byte > b_byte)
return 1;
}
return 0;
}
}
|