(root)/
xz-5.4.5/
debug/
crc32.c
       1  ///////////////////////////////////////////////////////////////////////////////
       2  //
       3  /// \file       crc32.c
       4  /// \brief      Primitive CRC32 calculation tool
       5  //
       6  //  Author:     Lasse Collin
       7  //
       8  //  This file has been put into the public domain.
       9  //  You can do whatever you want with this file.
      10  //
      11  ///////////////////////////////////////////////////////////////////////////////
      12  
      13  #include "sysdefs.h"
      14  #include "lzma.h"
      15  #include <stdio.h>
      16  
      17  
      18  int
      19  main(void)
      20  {
      21  	uint32_t crc = 0;
      22  
      23  	do {
      24  		uint8_t buf[BUFSIZ];
      25  		const size_t size = fread(buf, 1, sizeof(buf), stdin);
      26  		crc = lzma_crc32(buf, size, crc);
      27  	} while (!ferror(stdin) && !feof(stdin));
      28  
      29  	//printf("%08" PRIX32 "\n", crc);
      30  
      31  	// I want it little endian so it's easy to work with hex editor.
      32  	printf("%02" PRIX32 " ", crc & 0xFF);
      33  	printf("%02" PRIX32 " ", (crc >> 8) & 0xFF);
      34  	printf("%02" PRIX32 " ", (crc >> 16) & 0xFF);
      35  	printf("%02" PRIX32 " ", crc >> 24);
      36  	printf("\n");
      37  
      38  	return 0;
      39  }