blob: fdad37313ead9fd0e013521b0879bf86a88e6d8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/*
* Copyright (C) Dmitry Volyntsev
* Copyright (C) NGINX, Inc.
*/
#include <njs_main.h>
njs_int_t
njs_strncasecmp(u_char *s1, u_char *s2, size_t n)
{
njs_uint_t c1, c2;
while (n) {
c1 = (njs_uint_t) *s1++;
c2 = (njs_uint_t) *s2++;
c1 = (c1 >= 'A' && c1 <= 'Z') ? (c1 | 0x20) : c1;
c2 = (c2 >= 'A' && c2 <= 'Z') ? (c2 | 0x20) : c2;
if (c1 == c2) {
if (c1) {
n--;
continue;
}
return 0;
}
return c1 - c2;
}
return 0;
}
|