diff options
Diffstat (limited to 'src/file_mat.c')
-rw-r--r-- | src/file_mat.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/file_mat.c b/src/file_mat.c index c5de6459..93bb002a 100644 --- a/src/file_mat.c +++ b/src/file_mat.c @@ -31,7 +31,6 @@ #include "filegen.h" static void register_header_check_mat(file_stat_t *file_stat); -static int header_check_mat(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_mat= { .extension="mat", @@ -43,20 +42,12 @@ const file_hint_t file_hint_mat= { .register_header_check=®ister_header_check_mat }; -static const unsigned char mat_header[7]= {'M', 'A', 'T', 'L', 'A', 'B', ' '}; - -static void register_header_check_mat(file_stat_t *file_stat) -{ - register_header_check(0, mat_header,sizeof(mat_header), &header_check_mat, file_stat); -} - static int header_check_mat(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 unsigned char mat_le[4]={0x00, 0x01, 'I', 'M'}; const unsigned char mat_be[4]={0x01, 0x00, 'M', 'I'}; - if(memcmp(buffer,mat_header,sizeof(mat_header))==0 && - (memcmp(&buffer[0x7c], mat_le, sizeof(mat_le))==0 || - memcmp(&buffer[0x7c], mat_be, sizeof(mat_be))==0)) + if(memcmp(&buffer[0x7c], mat_le, sizeof(mat_le))==0 || + memcmp(&buffer[0x7c], mat_be, sizeof(mat_be))==0) { reset_file_recovery(file_recovery_new); file_recovery_new->extension=file_hint_mat.extension; @@ -64,3 +55,9 @@ static int header_check_mat(const unsigned char *buffer, const unsigned int buff } return 0; } + +static void register_header_check_mat(file_stat_t *file_stat) +{ + static const unsigned char mat_header[7]= {'M', 'A', 'T', 'L', 'A', 'B', ' '}; + register_header_check(0, mat_header,sizeof(mat_header), &header_check_mat, file_stat); +} |