X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fcrcsync%2Fcrcsync.c;h=6e87dac43ec8d0a58d65847967a1a0abd737b46b;hp=7864751902edaf86c0d64fa937ae08b67102487a;hb=56023cca5f66a40646a1e807c3d10af6e5913623;hpb=8827948b1953c759042f174997c3d28d13988c9c diff --git a/ccan/crcsync/crcsync.c b/ccan/crcsync/crcsync.c index 78647519..6e87dac4 100644 --- a/ccan/crcsync/crcsync.c +++ b/ccan/crcsync/crcsync.c @@ -1,3 +1,4 @@ +/* Licensed under LGPLv2.1+ - see LICENSE file for details */ #include "crcsync.h" #include #include @@ -166,7 +167,7 @@ size_t crc_read_block(struct crc_context *ctx, long *result, /* old is the trailing edge of the checksum window. */ if (buffer_size(ctx) >= ctx->block_size) - old = ctx->buffer + ctx->buffer_start; + old = (uint8_t *)ctx->buffer + ctx->buffer_start; else old = NULL; @@ -187,7 +188,7 @@ size_t crc_read_block(struct crc_context *ctx, long *result, ctx->uncrc_tab); old++; /* End of stored buffer? Start on data they gave us. */ - if (old == ctx->buffer + ctx->buffer_end) + if (old == (uint8_t *)ctx->buffer + ctx->buffer_end) old = buf; } else { ctx->running_crc = crc_add_byte(ctx->running_crc, *p); @@ -242,14 +243,16 @@ size_t crc_read_block(struct crc_context *ctx, long *result, /* Move down old data if we don't have room. */ if (ctx->buffer_end + len > ctx->block_size) { - memmove(ctx->buffer, ctx->buffer + ctx->buffer_start, + memmove(ctx->buffer, + (uint8_t *)ctx->buffer + ctx->buffer_start, buffer_size(ctx)); ctx->buffer_end -= ctx->buffer_start; ctx->buffer_start = 0; } /* Copy len bytes from tail of buffer. */ - memcpy(ctx->buffer + ctx->buffer_end, buf + buflen - len, len); + memcpy((uint8_t *)ctx->buffer + ctx->buffer_end, + (const uint8_t *)buf + buflen - len, len); ctx->buffer_end += len; assert(buffer_size(ctx) <= ctx->block_size); }