Blame crcgen.c

Packit 09c318
/*
Packit 09c318
 Generation of CRC lookup table
Packit 09c318
 as used in Perl module "String::CRC32"
Packit 09c318
Packit 09c318
 1999 by Soenke J. Peters <peters__perl@opcenter.de>
Packit 09c318
*/
Packit 09c318
Packit 09c318
#include <stdio.h>
Packit 09c318
Packit 09c318
int
Packit 09c318
main ( void )
Packit 09c318
{ 
Packit 09c318
  unsigned long crc, poly;
Packit 09c318
  int     i, j;
Packit 09c318
Packit 09c318
  poly = 0xEDB88320L;
Packit 09c318
  
Packit 09c318
  printf("unigned long\ncrcTable[256] = {\n");
Packit 09c318
  for (i=0; i<256; i++) {
Packit 09c318
    crc = i;
Packit 09c318
    for (j=8; j>0; j--) {
Packit 09c318
      if (crc&1) {
Packit 09c318
        crc = (crc >> 1) ^ poly;
Packit 09c318
      } else {
Packit 09c318
        crc >>= 1;
Packit 09c318
      }
Packit 09c318
    }
Packit 09c318
    printf( "0x%lx,", crc);
Packit 09c318
    if( (i&7) == 7 )
Packit 09c318
      printf("\n" );
Packit 09c318
    else
Packit 09c318
      printf(" ");
Packit 09c318
  }
Packit 09c318
  printf("};\n");
Packit 09c318
  return 0;
Packit 09c318
}