int crypt_packD()

in src/generic/nca_d.c [433:476]


int crypt_packD(unsigned char in)
{
    int out;
    int type = 0;
    if (in < 48) {
	type = 1;
	out = (int) in;
    }
    else if (in <= 57) {
	out = ((int) in - 48);
    }
    else if (in < 65) {
	type = 1;
	out = ((int) in - 10);
    }
    else if (in <= 86) {
	out = ((int) in - 55);
    }
    else if (in <= 90) {
	type = 4;
	out = ((int) in - 33);
    }
    else if (in < 97) {
	type = 4;
	out = ((int) in - 60);
    }
    else if (in <= 122) {
	out = ((int) in - 65);
    }
    else if (in <= 173) {
	type = 2;
	out = ((int) in - 123);
    }
    else if (in <= 224) {
	type = 3;
	out = ((int) in - 167);
    }
    else {
	type = 4;
	out = ((int) in - 225);
    }
    out += 256 * type;
    return out;
}