diff options
Diffstat (limited to 'src/file_wks.c')
-rw-r--r-- | src/file_wks.c | 39 |
1 files changed, 13 insertions, 26 deletions
diff --git a/src/file_wks.c b/src/file_wks.c index 65c489c0..5611d361 100644 --- a/src/file_wks.c +++ b/src/file_wks.c @@ -30,10 +30,7 @@ #include "types.h" #include "filegen.h" - static void register_header_check_wks(file_stat_t *file_stat); -static int header_check_wks(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new); -static int header_check_wk4(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new); const file_hint_t file_hint_wks= { .extension="wks", @@ -45,8 +42,6 @@ const file_hint_t file_hint_wks= { .register_header_check=®ister_header_check_wks }; -static const unsigned char wks_header[10] = { 0x00, 0x00, 0x02, 0x00, 0x04, 0x04, - 0x06, 0x00, 0x08, 0x00}; /* * record type=0 BOF=Beginning of file * record length=2 @@ -58,33 +53,25 @@ static const unsigned char wks_header[10] = { 0x00, 0x00, 0x02, 0x00, 0x04, 0x0 * http://www.schnarff.com/file-formats/lotus-1-2-3/WSFF1.TXT * http://www.schnarff.com/file-formats/lotus-1-2-3/WSFF2.TXT */ -static const unsigned char wk4_header[8] = { 0x00, 0x00, 0x1a, 0x00, 0x02, 0x10, 0x04, 0x00}; - -static void register_header_check_wks(file_stat_t *file_stat) +static int header_check_wk4(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new) { - register_header_check(0, wks_header,sizeof(wks_header), &header_check_wks, file_stat); - register_header_check(0, wk4_header,sizeof(wk4_header), &header_check_wk4, file_stat); + reset_file_recovery(file_recovery_new); + file_recovery_new->extension="wk4"; + return 1; } static int header_check_wks(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new) { - if(memcmp(buffer,wks_header,sizeof(wks_header))==0) - { - reset_file_recovery(file_recovery_new); - file_recovery_new->extension=file_hint_wks.extension; - return 1; - } - return 0; + reset_file_recovery(file_recovery_new); + file_recovery_new->extension=file_hint_wks.extension; + return 1; } -static int header_check_wk4(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new) +static void register_header_check_wks(file_stat_t *file_stat) { - if(memcmp(buffer,wk4_header,sizeof(wk4_header))==0) - { - reset_file_recovery(file_recovery_new); - file_recovery_new->extension="wk4"; - return 1; - } - return 0; + static const unsigned char wks_header[10] = { 0x00, 0x00, 0x02, 0x00, 0x04, 0x04, + 0x06, 0x00, 0x08, 0x00}; + static const unsigned char wk4_header[8] = { 0x00, 0x00, 0x1a, 0x00, 0x02, 0x10, 0x04, 0x00}; + register_header_check(0, wks_header,sizeof(wks_header), &header_check_wks, file_stat); + register_header_check(0, wk4_header,sizeof(wk4_header), &header_check_wk4, file_stat); } - |