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 18int 19main(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} 40