diff options
Diffstat (limited to 'utils/sbtools/crc.c')
-rw-r--r-- | utils/sbtools/crc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/sbtools/crc.c b/utils/sbtools/crc.c index 8030141567..eaf257ddfe 100644 --- a/utils/sbtools/crc.c +++ b/utils/sbtools/crc.c | |||
@@ -70,7 +70,12 @@ static uint32_t crc_table[256] = { | |||
70 | 70 | ||
71 | uint32_t crc(byte *data, int size) | 71 | uint32_t crc(byte *data, int size) |
72 | { | 72 | { |
73 | uint32_t c = 0xffffffff; | 73 | return crc_continue(0xffffffff, data, size); |
74 | } | ||
75 | |||
76 | uint32_t crc_continue(uint32_t previous_crc, byte *data, int size) | ||
77 | { | ||
78 | uint32_t c = previous_crc; | ||
74 | /* normal CRC */ | 79 | /* normal CRC */ |
75 | for(int i = 0; i < size; i++) | 80 | for(int i = 0; i < size; i++) |
76 | c = crc_table[data[i] ^ (c >> 24)] ^ (c << 8); | 81 | c = crc_table[data[i] ^ (c >> 24)] ^ (c << 8); |