diff --git a/grpdecompiler.c b/grpdecompiler.c index 80eb1ab..a97134a 100644 --- a/grpdecompiler.c +++ b/grpdecompiler.c @@ -13,6 +13,7 @@ void show_progress(const unsigned long int start,const unsigned long int stop); FILE *open_input_file(const char *name); FILE *create_output_file(const char *name); void data_dump(FILE *input,FILE *output,const size_t length); +void fast_data_dump(FILE *input,FILE *output,const size_t length); void write_output_file(FILE *input,const char *name,const size_t length); void check_memory(const void *memory); char *get_string_memory(const size_t length); @@ -42,10 +43,10 @@ void show_intro() { putchar('\n'); puts("GRP DECOMPILER"); - puts("Version 2.0.4"); + puts("Version 2.0.6"); puts("This program distributed under GNU GENERAL PUBLIC LICENSE"); puts("File extraction tools for GRP pseudo-archives by Popov Evgeniy Alekseyevich"); - puts("2010-2018 years"); + puts("2010-2019 years"); putchar('\n'); } @@ -61,7 +62,7 @@ void show_start_message() void show_end_message() { - puts(" "); + putchar('\n'); puts("Work finish"); } @@ -77,49 +78,55 @@ void show_progress(const unsigned long int start,const unsigned long int stop) FILE *open_input_file(const char *name) { - FILE *file; - file=fopen(name,"rb"); - if (file==NULL) + FILE *target; + target=fopen(name,"rb"); + if (target==NULL) { - puts(" "); - puts("File operation error"); - exit(2); + putchar('\n'); + puts("Can't open input file"); + exit(1); } - return file; + return target; } FILE *create_output_file(const char *name) { - FILE *file; - file=fopen(name,"wb"); - if (file==NULL) + FILE *target; + target=fopen(name,"wb"); + if (target==NULL) { - puts(" "); - puts("File operation error"); + putchar('\n'); + puts("Can't create ouput file"); exit(2); } - return file; + return target; } void data_dump(FILE *input,FILE *output,const size_t length) { - unsigned char single_byte; + unsigned char data; size_t index; + data=0; + for (index=0;index