X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/rsbs2/blobdiff_plain/aee449595a07ee4bd86156d8a9e255593c7085d5..7215c0181e234f31f8970d9d8953ea7850d9f3de:/src/rsb-crc.c diff --git a/src/rsb-crc.c b/src/rsb-crc.c index 6a2bf99..4363e30 100644 --- a/src/rsb-crc.c +++ b/src/rsb-crc.c @@ -1,11 +1,12 @@ #include +#include #define POLY 0x04c11db7 -unsigned int rsb_crc(unsigned int r11_crc, unsigned char *r10_buf, unsigned int r14_len) { - unsigned int r6_pos = 0; - unsigned int r3_data; - int r5_bit; +uint32_t rsb_crc(uint32_t r11_crc, uint8_t *r10_buf, uint32_t r14_len) { + uint32_t r6_pos = 0; + uint32_t r3_data; + int32_t r5_bit; while (r6_pos < r14_len) { r3_data = (*(r6_pos+r10_buf)) << 24; @@ -31,13 +32,13 @@ unsigned int rsb_crc(unsigned int r11_crc, unsigned char *r10_buf, unsigned int return r11_crc; } -unsigned int rsb_crc2(unsigned char *r0_buf, unsigned int r1_buflen, unsigned int r2_magic, unsigned int *crc_out) { - unsigned int r4_len; - unsigned int file_crc; +uint32_t rsb_crc2(uint8_t *r0_buf, uint32_t r1_buflen, uint32_t r2_magic, uint32_t *crc_out) { + uint32_t r4_len; + uint32_t file_crc; - r4_len = *(unsigned int*)(r0_buf + 0x20); + r4_len = *(uint32_t*)(r0_buf + 0x20); - if (*((unsigned int*)(r0_buf + 0x24)) != r2_magic) + if (*((uint32_t*)(r0_buf + 0x24)) != r2_magic) return 2; /* MAGIC does not match */ if (r1_buflen < r4_len) @@ -45,7 +46,7 @@ unsigned int rsb_crc2(unsigned char *r0_buf, unsigned int r1_buflen, unsigned in *crc_out = ~rsb_crc(~0x0, r0_buf, r4_len); - file_crc = *((unsigned int*)(r0_buf + r4_len)); + file_crc = *((uint32_t*)(r0_buf + r4_len)); if (file_crc != *crc_out) return 4;