int main(int argc, char **argv) { int ret; process_options(argc,argv); if ((in_fd == -1) || (out_fd == -1)) { if(in_fd != -1) close(in_fd); if(out_fd != -1) close(out_fd); fprintf(stderr,helptext); error_msg_and_die("You must specify input and output files!\n"); } init_buffers(); init_sumlist(); while ((ret = load_next_block())) { create_summed_image(ret); } flush_buffers(); clean_buffers(); clean_sumlist(); if (in_fd != -1) close(in_fd); if (out_fd != -1) close(out_fd); return 0; }
void parse_image(){ int ret; file_buffer = malloc(erase_block_size); if (!file_buffer) { perror("out of memory"); close (in_fd); close (out_fd); exit(1); } while ((ret = load_next_block())) { process_buffer(ret); } if (file_buffer) free(file_buffer); close(in_fd); }