From 81a33946da5cdd0a84a52648c3e89c5599077412 Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Mon, 24 Apr 2017 18:14:02 +0000 Subject: [PATCH] use signed ints for iterating --- main.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index 7d4b2d2..48bb8d1 100644 --- a/main.c +++ b/main.c @@ -15,7 +15,7 @@ char buff[BUFFER_SIZE]; #define MAX_INPUTS 256 static char *inputs[MAX_INPUTS]; -static unsigned int input_n = 0; +static int input_n = 0; static uint32_t starting = 0xFFFFFFFF; static bool big_endian = 0; @@ -126,13 +126,15 @@ cycle_file(FILE *stream) else crc_le_fill_table(table, polynomial); + // cast len to int to enable potential signedness optimizations. + // this is safe so long as BUFFER_SIZE can fit in an int. if (big_endian) do { - size_t len = buff_read(stream); - for (size_t i = 0; i < len; i++) + int len = (int) buff_read(stream); + for (int i = 0; i < len; i++) crc_be_cycle(table, &remainder, buff[i]); } while (!feof(stream)); else do { - size_t len = buff_read(stream); - for (size_t i = 0; i < len; i++) + int len = (int) buff_read(stream); + for (int i = 0; i < len; i++) crc_le_cycle(table, &remainder, buff[i]); } while (!feof(stream));