summaryrefslogtreecommitdiffstats
path: root/src/file_riff.c
diff options
context:
space:
mode:
authorChristophe Grenier <grenier@cgsecurity.org>2015-04-11 14:23:16 +0200
committerChristophe Grenier <grenier@cgsecurity.org>2015-04-11 14:23:16 +0200
commit67054372873f2ed5414da7fff1cb5744148289d6 (patch)
treea8cd9501bcfc1e1efec8ca6603e7f11b0ad2ec0c /src/file_riff.c
parentefc94ee87ac3b4e3ecf4fb3ab4adac2ef0a6278f (diff)
add gcc_struct attribute to all __packed__ structure
do not use fseeko() with mingw32 gcc compiler
Diffstat (limited to 'src/file_riff.c')
-rw-r--r--src/file_riff.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/file_riff.c b/src/file_riff.c
index 5c97df9..397cf87 100644
--- a/src/file_riff.c
+++ b/src/file_riff.c
@@ -34,6 +34,12 @@
#include "log.h"
#endif
+#if defined(HAVE_FSEEKO) && !defined(__MINGW32__)
+#define my_fseek fseeko
+#else
+#define my_fseek fseek
+#endif
+
data_check_t data_check_avi_stream(const unsigned char *buffer, const unsigned int buffer_size, file_recovery_t *file_recovery);
static void register_header_check_riff(file_stat_t *file_stat);
@@ -104,11 +110,7 @@ static void check_riff_list(file_recovery_t *fr, const unsigned int depth, const
return;
for(file_size=start; file_size < end;)
{
-#ifdef HAVE_FSEEKO
- if(fseeko(fr->handle, file_size, SEEK_SET)<0)
-#else
- if(fseek(fr->handle, file_size, SEEK_SET)<0)
-#endif
+ if(my_fseek(fr->handle, file_size, SEEK_SET)<0)
{
fr->offset_error=file_size;
return;
@@ -147,11 +149,7 @@ static void file_check_avi(file_recovery_t *fr)
{
const uint64_t file_size=fr->file_size;
riff_list_header list_header;
-#ifdef HAVE_FSEEKO
- if(fseeko(fr->handle, fr->file_size, SEEK_SET)<0)
-#else
- if(fseek(fr->handle, fr->file_size, SEEK_SET)<0)
-#endif
+ if(my_fseek(fr->handle, fr->file_size, SEEK_SET)<0)
{
fr->file_size=0;
return ;