X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/32874aeac8dacbca26663777b39a79efc5d8dc4b..8d90b8b27bf086da6245030459ab3e5977313eb0:/sshcrc.c diff --git a/sshcrc.c b/sshcrc.c index fb0db0ca..ed20395b 100644 --- a/sshcrc.c +++ b/sshcrc.c @@ -69,17 +69,19 @@ #include +#include "ssh.h" + /* ---------------------------------------------------------------------- * Multi-function module. Can be compiled three ways. * * - Compile with no special #defines. Will generate a table * that's already initialised at compile time, and one function - * crc32(buf,len) that uses it. Normal usage. + * crc32_compute(buf,len) that uses it. Normal usage. * * - Compile with INITFUNC defined. Will generate an uninitialised - * array as the table, and as well as crc32(buf,len) it will - * also generate void crc32_init(void) which sets up the table - * at run time. Useful if binary size is important. + * array as the table, and as well as crc32_compute(buf,len) it + * will also generate void crc32_init(void) which sets up the + * table at run time. Useful if binary size is important. * * - Compile with GENPROGRAM defined. Will create a standalone * program that does the initialisation and outputs the table as @@ -211,9 +213,8 @@ int main(void) } #endif -unsigned long crc32(const void *buf, size_t len) +unsigned long crc32_update(unsigned long crcword, const void *buf, size_t len) { - unsigned long crcword = 0L; const unsigned char *p = (const unsigned char *) buf; while (len--) { unsigned long newbyte = *p++; @@ -222,3 +223,8 @@ unsigned long crc32(const void *buf, size_t len) } return crcword; } + +unsigned long crc32_compute(const void *buf, size_t len) +{ + return crc32_update(0L, buf, len); +}