#include <stdlib.h>
#include "../src/kds_s2000w_image_converter.h"
-int main(int argc, char* argv[])
+void read_file(const char* filename, blobdata* input)
{
- blobdata output;
- output.size = 0;
- blobdata blob;
- blob.size = 0;
- FILE* fptr = NULL;
- size_t size = 0;
- blob.data = NULL;
-
- fptr = fopen(argv[1], "r");
+ FILE* fptr = fopen(filename, "r");
if (fptr == NULL) {
- printf("file %s not found\n", argv[1]);
+ printf("file %s not found\n", filename);
exit(1);
}
- blob.data = malloc(sizeof(char));
- while(fread(blob.data, sizeof(char), 1, fptr)) {
- blob.size++;
+ input->data = malloc(sizeof(char));
+ while(fread(input->data, sizeof(char), 1, fptr)) {
+ input->size++;
}
fseek(fptr, 0L, SEEK_SET);
- printf("file size of %s: %i byts\n", argv[1], blob.size);
- free(blob.data);
- blob.data = NULL;
+ printf("file size of %s: %i byts\n", filename, input->size);
- blob.data = malloc(sizeof(char) * blob.size);
- fread(blob.data, blob.size, 1, fptr);
+ input->data = malloc(sizeof(char) * input->size);
+ fread(input->data, input->size, 1, fptr);
fclose(fptr);
fptr = NULL;
+}
+
+void write_file(blobdata* output)
+{
+ FILE* fptr = fopen("output.pnm", "w");
+ fwrite(output->data, output->size, 1, fptr);
+ printf("file size of output.pnm: %i bytes\n", output->size);
+ fclose(fptr);
+ fptr = NULL;
+}
+
+int main(int argc, char* argv[])
+{
+ blobdata input;
+ input.size = 0;
+ input.data = NULL;
+ blobdata output;
+ output.size = 0;
+ output.data = NULL;
+
+ read_file(argv[1], &input);
kds_s2000w_convert_init();
- kds_s2000w_convert_jpg_to_pnm_With_depth(&blob, &output, 8);
+ kds_s2000w_convert_jpg_to_pnm_With_depth(&input, &output, 8);
kds_s2000w_convert_terminate();
- fptr = fopen("output.pnm", "w");
- fwrite(output.data, output.size, 1, fptr);
- printf("file size of output.pnm: %i bytes\n", output.size);
- fclose(fptr);
- fptr = NULL;
+ write_file(&output);
- free(blob.data);
- blob.data = NULL;
+ free(input.data);
+ input.data = NULL;
free(output.data);
output.data = NULL;
return 0;