move crc32 function

This commit is contained in:
FunkyFr3sh 2024-09-30 23:46:04 +02:00
parent 107897a29f
commit a7b8e2e80f
4 changed files with 28 additions and 27 deletions

View file

@ -77,6 +77,31 @@ unsigned long Crc32_ComputeBuf( unsigned long inCrc32, const void *buf,
return( crc32 ^ 0xFFFFFFFF );
}
unsigned long Crc32_FromFile(char* filename)
{
if (!filename)
return 0;
unsigned long crc32 = 0;
FILE* fp = fopen(filename, "rb");
if (fp)
{
char buf[1024];
for (size_t s = 0; (s = fread(buf, 1, sizeof(buf), fp)) && !ferror(fp);)
{
crc32 = Crc32_ComputeBuf(crc32, buf, s);
}
if (ferror(fp))
crc32 = 0;
fclose(fp);
}
return crc32;
}
/*----------------------------------------------------------------------------*\
* END OF MODULE: crc32.c
\*----------------------------------------------------------------------------*/