summaryrefslogtreecommitdiff
path: root/lib/libc/wctype/iswalpha.c
blob: 17c8508c126b5cac8aca3ad6cdad578b9b3ef02f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <libc.h>
#include <wctype.h>

int iswalpha(wint_t wc)
{
	const unsigned char t[] = {
#include <__alpha.h>
	};

	if (wc < 0x20000U)
		return (t[t[wc >> 8] * 32 + ((wc & 255) >> 3)] >> (wc & 7)) & 1;

	if (wc < 0x2fffeU)
		return 1;

	return 0;
}

weak int iswalpha_l(wint_t wc, locale_t unused locale)
{
	return iswalpha(wc);
}