diff --git a/imageInput.c b/imageInput.c index 6e9b030..dcece87 100644 --- a/imageInput.c +++ b/imageInput.c @@ -29,14 +29,14 @@ GrayScaleImageSeries *readImages(const char *path) if (readSource != NULL) { - series = calloc(amountOfStatusInfoToRead, sizeof(GrayScaleImageSeries)); - series->images = calloc(1, sizeof(GrayScaleImage)); + series = calloc(amountOfStatusInfoToRead, sizeof(GrayScaleImageSeries)); + series->images = calloc(amountOfStatusInfoToRead, sizeof(GrayScaleImage)); - numberOfBytesToRead = readStatusInfo(readSource, series, headerString, sizeOfStausInfoElementsInBytes, amountOfStatusInfoToRead); - expectedHeader = checkHeaderString(headerString); + numberOfBytesToRead = readStatusInfo(readSource, series, headerString, sizeOfStausInfoElementsInBytes, amountOfStatusInfoToRead); + expectedHeader = checkHeaderString(headerString); - series->images = realloc(series->images, series->count * sizeof(GrayScaleImage)); - series->labels = calloc((series->count), sizeof(&(series->labels))); + series->images = realloc(series->images, series->count * sizeof(GrayScaleImage)); + series->labels = calloc((series->count), sizeof(&(series->labels))); if (expectedHeader) { @@ -86,7 +86,6 @@ void clearSeries(GrayScaleImageSeries * series) series->labels[i] = 0; series->images[i].width = 0; series->images[i].height = 0; - } for (i = 0; i < series->count; i++) @@ -101,7 +100,6 @@ void clearSeries(GrayScaleImageSeries * series) series->images = NULL; free(series); series = NULL; - } @@ -128,10 +126,11 @@ void readImagedata(FILE *const source, GrayScaleImageSeries *const series, int c { int i = 0; + for (i = 0; i < series->count ; i++) { - fread(&series->images[i].buffer[0], 1, amountToRead, source); - fread(&series->labels[i], sizeof(*series->images->buffer), sizeof(*series->labels), source); + fread(&series->images[i].buffer[0], sizeof(*series->images->buffer), amountToRead, source); + fread(&series->labels[i], sizeof(*series->images->buffer), sizeof(*series->labels), source); } }