if (codepage == CP_UTF8) codepage = 28591; else if (codepage == CP_ACP)
if (codepage == CP_UTF8) { for (i = 0; i < max; i++) unitab[i] = i; return; }  if (codepage == CP_ACP)
static void get_unitab(int codepage, wchar_t * unitab, int ftype){    char tbuf[4];    int i, max = 256, flg = MB_ERR_INVALID_CHARS;    if (ftype)	flg |= MB_USEGLYPHCHARS;    if (ftype == 2)	max = 128;    if (codepage == CP_UTF8)	codepage = 28591;    else if (codepage == CP_ACP)	codepage = GetACP();    else if (codepage == CP_OEMCP)	codepage = GetOEMCP();    if (codepage > 0 && codepage < 65536) {	for (i = 0; i < max; i++) {	    tbuf[0] = i;	    if (MultiByteToWideChar(codepage, flg, tbuf, 1, unitab + i, 1)		!= 1)		unitab[i] = 0xFFFD;	}    } else {	int j = 256 - cp_list[codepage & 0xFFFF].cp_size;	for (i = 0; i < max; i++)	    unitab[i] = i;	for (i = j; i < max; i++)	    unitab[i] = cp_list[codepage & 0xFFFF].cp_table[i - j];    }}