private static void make_crc_table()
{
if (crc_table != null)
return;
uint[] crc2 = new uint[256];
for (uint n = 0; n < 256; n++) {
uint c = n;
for (int k = 0; k < 8; k++) {
if ((c & 1) != 0)
c = 0xedb88320U ^ (c >> 1);
else
c = c >> 1;
}
crc2[n] = c;
}
crc_table = crc2;
}