diff --git a/Assignment9/src/main.c b/Assignment9/src/main.c index 563bc32..8d53e9d 100644 --- a/Assignment9/src/main.c +++ b/Assignment9/src/main.c @@ -40,7 +40,7 @@ int main(int argc, char *argv[]) { } printf("Chunk size is:%d\n", chunks[i]->length); } - write_png_chunks(path, chunks); + // write_png_chunks(path, chunks); destroy_chunks(chunks); return EXIT_SUCCESS; } \ No newline at end of file diff --git a/Assignment9/src/png.c b/Assignment9/src/png.c index 11b3e9a..ec9818b 100644 --- a/Assignment9/src/png.c +++ b/Assignment9/src/png.c @@ -123,10 +123,7 @@ png_chunk **get_png_chunks(char *buffer) { int get_number_of_chunks(png_chunk **chunks) { int i = 0; - while (true) { - if (memcmp(chunks[i]->type, "IEND", 4) == 0) { - break; - } + while (memcmp(chunks[i]->type, "IEND", 4) != 0) { i++; } return i; @@ -141,7 +138,8 @@ void xor_data(png_chunk *chunk) { void destroy_chunks(png_chunk **chunks) { - for (int i = 0; get_number_of_chunks(chunks); i++) { + unsigned int size = get_number_of_chunks(chunks); + for (int i = 0; i < size; i++) { free(chunks[i]->data); free(chunks[i]); }