/* * Copyright (C) Dmitry Volyntsev * Copyright (C) NGINX, Inc. */ #include 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; }