/* Compare two strings for equality, in a case-insensitive way. This function handles casing only for ASCII letters.  */
static int eqnocase(const void *s1, const void *s2, size_t len)
/* Compare two strings for equality, in a case-insensitive way. This function handles casing only for ASCII letters.  */
static int eqnocase(const void *s1, const void *s2, size_t len)
{
	const unsigned char *buf1, *buf2;
	buf1 = s1;
	buf2 = s2;
	while (len -- > 0) {
		int x1, x2;
		x1 = *buf1 ++;
		x2 = *buf2 ++;
		if (x1 >= 'A' && x1 <= 'Z') {
			x1 += 'a' - 'A';
		}
		if (x2 >= 'A' && x2 <= 'Z') {
			x2 += 'a' - 'A';
		}
		if (x1 != x2) {
			return 0;
		}
	}
	return 1;
}