Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorRay Molenkamp <github@lazydodo.com>2020-03-18 21:13:03 +0300
committerRay Molenkamp <github@lazydodo.com>2020-03-18 21:13:03 +0300
commit9a116c7c2d957e0e10a926eccc38dcb28cfec6e4 (patch)
tree620a9efd22d96e6fce9ec8cf8f1c6c0c2996b687 /source
parentac74a843d2775c834454ede9e3161e574f5b2e7c (diff)
Cleanup: 64 bit file IO on windows.
Unlike Linux where fseek/tell will be either 32 or 64 bit depending on the target platform, it will always be 32 bit on windows. We had some macro magic in BLI_winstuff.h that substituted them for 64 bit versions, but that is upsetting the system headers if they get included after BLI_winstuff.h which is problematic for D6811. This diff adds proper functions in blenlib and updates all calls that were using the BLI_winstuff.h header to gain 64 bit file IO. note: Anything that was using the 32 bit versions (ie not including BLI_winstuff.h) will still be using the 32 bit versions, which is perhaps a good code quality Friday project. Differential Revision: https://developer.blender.org/D7160 Reviewers: brecht dfelinto
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/pointcache.c2
-rw-r--r--source/blender/blenlib/BLI_fileops.h4
-rw-r--r--source/blender/blenlib/BLI_winstuff.h7
-rw-r--r--source/blender/blenlib/intern/storage.c39
-rw-r--r--source/blender/blenloader/intern/readfile.c4
-rw-r--r--source/blender/io/avi/intern/avi.c92
-rw-r--r--source/blender/io/avi/intern/avi_options.c11
-rw-r--r--source/blender/modifiers/intern/MOD_meshcache_mdd.c10
-rw-r--r--source/blender/modifiers/intern/MOD_meshcache_pc2.c8
9 files changed, 101 insertions, 76 deletions
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index b0163436cc4..19d77fcd6db 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -2385,7 +2385,7 @@ static int ptcache_file_header_begin_read(PTCacheFile *pf)
/* if there was an error set file as it was */
if (error) {
- fseek(pf->fp, 0, SEEK_SET);
+ BLI_fseek(pf->fp, 0, SEEK_SET);
}
return !error;
diff --git a/source/blender/blenlib/BLI_fileops.h b/source/blender/blenlib/BLI_fileops.h
index d908c47b400..8596a60bc6a 100644
--- a/source/blender/blenlib/BLI_fileops.h
+++ b/source/blender/blenlib/BLI_fileops.h
@@ -70,6 +70,10 @@ typedef struct stat BLI_stat_t;
int BLI_fstat(int fd, BLI_stat_t *buffer) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
int BLI_stat(const char *path, BLI_stat_t *buffer) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
+int64_t BLI_ftell(FILE *stream) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
+int BLI_fseek(FILE *stream, int64_t offset, int whence);
+int64_t BLI_lseek(int fd, int64_t offset, int whence);
+
#ifdef WIN32
int BLI_wstat(const wchar_t *path, BLI_stat_t *buffer);
#endif
diff --git a/source/blender/blenlib/BLI_winstuff.h b/source/blender/blenlib/BLI_winstuff.h
index eddb69e84ec..08d29a328b4 100644
--- a/source/blender/blenlib/BLI_winstuff.h
+++ b/source/blender/blenlib/BLI_winstuff.h
@@ -80,13 +80,6 @@ extern "C" {
typedef unsigned int mode_t;
-/* use functions that take a 64 bit offset for files larger than 4GB */
-#include <stdio.h>
-#define fseek(stream, offset, origin) _fseeki64(stream, offset, origin)
-#define ftell(stream) _ftelli64(stream)
-#define lseek(fd, offset, origin) _lseeki64(fd, offset, origin)
-#define tell(fd) _telli64(fd)
-
#ifndef _SSIZE_T_
# define _SSIZE_T_
/* python uses HAVE_SSIZE_T */
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
index 7743ced1344..de16960eb85 100644
--- a/source/blender/blenlib/intern/storage.c
+++ b/source/blender/blenlib/intern/storage.c
@@ -175,6 +175,33 @@ double BLI_dir_free_space(const char *dir)
#endif
}
+int64_t BLI_ftell(FILE *stream)
+{
+#ifdef WIN32
+ return _ftelli64(stream);
+#else
+ return ftell(stream);
+#endif
+}
+
+int BLI_fseek(FILE *stream, int64_t offset, int whence)
+{
+#ifdef WIN32
+ return _fseeki64(stream, offset, whence);
+#else
+ return fseek(stream, offset, whence);
+#endif
+}
+
+int64_t BLI_lseek(int fd, int64_t offset, int whence)
+{
+#ifdef WIN32
+ return _lseeki64(fd, offset, whence);
+#else
+ return lseek(fd, offset, whence);
+#endif
+}
+
/**
* Returns the file size of an opened file descriptor.
*/
@@ -383,15 +410,15 @@ static void *file_read_data_as_mem_impl(FILE *fp,
if (S_ISDIR(st.st_mode)) {
return NULL;
}
- if (fseek(fp, 0L, SEEK_END) == -1) {
+ if (BLI_fseek(fp, 0L, SEEK_END) == -1) {
return NULL;
}
/* Don't use the 'st_size' because it may be the symlink. */
- const long int filelen = ftell(fp);
+ const long int filelen = BLI_ftell(fp);
if (filelen == -1) {
return NULL;
}
- if (fseek(fp, 0L, SEEK_SET) == -1) {
+ if (BLI_fseek(fp, 0L, SEEK_SET) == -1) {
return NULL;
}
@@ -519,9 +546,9 @@ LinkNode *BLI_file_read_as_lines(const char *name)
return NULL;
}
- fseek(fp, 0, SEEK_END);
- size = (size_t)ftell(fp);
- fseek(fp, 0, SEEK_SET);
+ BLI_fseek(fp, 0, SEEK_END);
+ size = (size_t)BLI_ftell(fp);
+ BLI_fseek(fp, 0, SEEK_SET);
if (UNLIKELY(size == (size_t)-1)) {
fclose(fp);
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 941783d1bec..f7c995d598e 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -1171,7 +1171,7 @@ static int fd_read_data_from_file(FileData *filedata,
static off64_t fd_seek_data_from_file(FileData *filedata, off64_t offset, int whence)
{
- filedata->file_offset = lseek(filedata->filedes, offset, whence);
+ filedata->file_offset = BLI_lseek(filedata->filedes, offset, whence);
return filedata->file_offset;
}
@@ -1349,7 +1349,7 @@ static FileData *blo_filedata_from_file_descriptor(const char *filepath,
return NULL;
}
else {
- lseek(file, 0, SEEK_SET);
+ BLI_lseek(file, 0, SEEK_SET);
}
/* Regular file. */
diff --git a/source/blender/io/avi/intern/avi.c b/source/blender/io/avi/intern/avi.c
index 22eb0be0cc0..0901d03a90f 100644
--- a/source/blender/io/avi/intern/avi.c
+++ b/source/blender/io/avi/intern/avi.c
@@ -249,7 +249,7 @@ bool AVI_is_avi(const char *name)
movie.header->Reserved[2] = GET_FCC(movie.fp);
movie.header->Reserved[3] = GET_FCC(movie.fp);
- fseek(movie.fp, movie.header->size - 14 * 4, SEEK_CUR);
+ BLI_fseek(movie.fp, movie.header->size - 14 * 4, SEEK_CUR);
/* Limit number of streams to some reasonable amount to prevent
* buffer overflow vulnerabilities. */
@@ -312,7 +312,7 @@ bool AVI_is_avi(const char *name)
movie.streams[temp].sh.right = GET_TCC(movie.fp);
movie.streams[temp].sh.bottom = GET_TCC(movie.fp);
- fseek(movie.fp, movie.streams[temp].sh.size - 14 * 4, SEEK_CUR);
+ BLI_fseek(movie.fp, movie.streams[temp].sh.size - 14 * 4, SEEK_CUR);
if (GET_FCC(movie.fp) != FCC("strf")) {
DEBUG_PRINT("no stream format information\n");
@@ -362,27 +362,27 @@ bool AVI_is_avi(const char *name)
}
}
if (j > 0) {
- fseek(movie.fp, j, SEEK_CUR);
+ BLI_fseek(movie.fp, j, SEEK_CUR);
}
}
else {
- fseek(movie.fp, movie.streams[temp].sf_size, SEEK_CUR);
+ BLI_fseek(movie.fp, movie.streams[temp].sf_size, SEEK_CUR);
}
/* Walk to the next LIST */
while (GET_FCC(movie.fp) != FCC("LIST")) {
temp = GET_FCC(movie.fp);
- if (temp < 0 || ftell(movie.fp) > movie.size) {
+ if (temp < 0 || BLI_ftell(movie.fp) > movie.size) {
DEBUG_PRINT("incorrect size in header or error in AVI\n");
MEM_freeN(movie.streams);
fclose(movie.fp);
return 0;
}
- fseek(movie.fp, temp, SEEK_CUR);
+ BLI_fseek(movie.fp, temp, SEEK_CUR);
}
- fseek(movie.fp, -4L, SEEK_CUR);
+ BLI_fseek(movie.fp, -4L, SEEK_CUR);
}
MEM_freeN(movie.streams);
@@ -437,7 +437,7 @@ AviError AVI_open_movie(const char *name, AviMovie *movie)
movie->header->Reserved[2] = GET_FCC(movie->fp);
movie->header->Reserved[3] = GET_FCC(movie->fp);
- fseek(movie->fp, movie->header->size - 14 * 4, SEEK_CUR);
+ BLI_fseek(movie->fp, movie->header->size - 14 * 4, SEEK_CUR);
/* Limit number of streams to some reasonable amount to prevent
* buffer overflow vulnerabilities. */
@@ -493,7 +493,7 @@ AviError AVI_open_movie(const char *name, AviMovie *movie)
movie->streams[temp].sh.right = GET_TCC(movie->fp);
movie->streams[temp].sh.bottom = GET_TCC(movie->fp);
- fseek(movie->fp, movie->streams[temp].sh.size - 14 * 4, SEEK_CUR);
+ BLI_fseek(movie->fp, movie->streams[temp].sh.size - 14 * 4, SEEK_CUR);
if (GET_FCC(movie->fp) != FCC("strf")) {
DEBUG_PRINT("no stream format information\n");
@@ -540,24 +540,24 @@ AviError AVI_open_movie(const char *name, AviMovie *movie)
}
}
if (j > 0) {
- fseek(movie->fp, j, SEEK_CUR);
+ BLI_fseek(movie->fp, j, SEEK_CUR);
}
}
else {
- fseek(movie->fp, movie->streams[temp].sf_size, SEEK_CUR);
+ BLI_fseek(movie->fp, movie->streams[temp].sf_size, SEEK_CUR);
}
/* Walk to the next LIST */
while (GET_FCC(movie->fp) != FCC("LIST")) {
temp = GET_FCC(movie->fp);
- if (temp < 0 || ftell(movie->fp) > movie->size) {
+ if (temp < 0 || BLI_ftell(movie->fp) > movie->size) {
DEBUG_PRINT("incorrect size in header or error in AVI\n");
return AVI_ERROR_FORMAT;
}
- fseek(movie->fp, temp, SEEK_CUR);
+ BLI_fseek(movie->fp, temp, SEEK_CUR);
}
- fseek(movie->fp, -4L, SEEK_CUR);
+ BLI_fseek(movie->fp, -4L, SEEK_CUR);
}
while (1) {
@@ -573,24 +573,24 @@ AviError AVI_open_movie(const char *name, AviMovie *movie)
break;
}
else {
- fseek(movie->fp, size - 4, SEEK_CUR);
+ BLI_fseek(movie->fp, size - 4, SEEK_CUR);
}
}
else {
- fseek(movie->fp, size, SEEK_CUR);
+ BLI_fseek(movie->fp, size, SEEK_CUR);
}
- if (ftell(movie->fp) > movie->size) {
+ if (BLI_ftell(movie->fp) > movie->size) {
DEBUG_PRINT("incorrect size in header or error in AVI\n");
return AVI_ERROR_FORMAT;
}
}
- movie->movi_offset = ftell(movie->fp);
+ movie->movi_offset = BLI_ftell(movie->fp);
movie->read_offset = movie->movi_offset;
/* Read in the index if the file has one, otherwise create one */
if (movie->header->Flags & AVIF_HASINDEX) {
- fseek(movie->fp, size - 4, SEEK_CUR);
+ BLI_fseek(movie->fp, size - 4, SEEK_CUR);
if (GET_FCC(movie->fp) != FCC("idx1")) {
DEBUG_PRINT("bad index informatio\n");
@@ -669,7 +669,7 @@ void *AVI_read_frame(AviMovie *movie, AviFormat format, int frame, int stream)
return NULL;
}
- fseek(movie->fp, movie->read_offset + movie->entries[i - 1].Offset, SEEK_SET);
+ BLI_fseek(movie->fp, movie->read_offset + movie->entries[i - 1].Offset, SEEK_SET);
size_t size = GET_FCC(movie->fp);
buffer = MEM_mallocN(size, "readbuffer");
@@ -834,9 +834,9 @@ AviError AVI_open_compress(char *name, AviMovie *movie, int streams, ...)
awrite(movie, &list, 1, sizeof(AviList), movie->fp, AVI_LIST);
- header_pos1 = ftell(movie->fp);
+ header_pos1 = BLI_ftell(movie->fp);
- movie->offset_table[0] = ftell(movie->fp);
+ movie->offset_table[0] = BLI_ftell(movie->fp);
awrite(movie, movie->header, 1, sizeof(AviMainHeader), movie->fp, AVI_MAINH);
@@ -847,24 +847,24 @@ AviError AVI_open_compress(char *name, AviMovie *movie, int streams, ...)
awrite(movie, &list, 1, sizeof(AviList), movie->fp, AVI_LIST);
- stream_pos1 = ftell(movie->fp);
+ stream_pos1 = BLI_ftell(movie->fp);
- movie->offset_table[1 + i * 2] = ftell(movie->fp);
+ movie->offset_table[1 + i * 2] = BLI_ftell(movie->fp);
awrite(movie, &movie->streams[i].sh, 1, sizeof(AviStreamHeader), movie->fp, AVI_STREAMH);
- movie->offset_table[1 + i * 2 + 1] = ftell(movie->fp);
+ movie->offset_table[1 + i * 2 + 1] = BLI_ftell(movie->fp);
awrite(movie, movie->streams[i].sf, 1, movie->streams[i].sf_size, movie->fp, AVI_BITMAPH);
- stream_pos2 = ftell(movie->fp);
+ stream_pos2 = BLI_ftell(movie->fp);
- fseek(movie->fp, stream_pos1 - 8, SEEK_SET);
+ BLI_fseek(movie->fp, stream_pos1 - 8, SEEK_SET);
PUT_FCCN((stream_pos2 - stream_pos1 + 4L), movie->fp);
- fseek(movie->fp, stream_pos2, SEEK_SET);
+ BLI_fseek(movie->fp, stream_pos2, SEEK_SET);
}
- junk_pos = ftell(movie->fp);
+ junk_pos = BLI_ftell(movie->fp);
if (junk_pos < 2024 - 8) {
chunk.fcc = FCC("JUNK");
@@ -877,7 +877,7 @@ AviError AVI_open_compress(char *name, AviMovie *movie, int streams, ...)
}
}
- header_pos2 = ftell(movie->fp);
+ header_pos2 = BLI_ftell(movie->fp);
list.fcc = FCC("LIST");
list.size = 0;
@@ -885,9 +885,9 @@ AviError AVI_open_compress(char *name, AviMovie *movie, int streams, ...)
awrite(movie, &list, 1, sizeof(AviList), movie->fp, AVI_LIST);
- movie->movi_offset = ftell(movie->fp) - 8L;
+ movie->movi_offset = BLI_ftell(movie->fp) - 8L;
- fseek(movie->fp, AVI_HDRL_SOFF, SEEK_SET);
+ BLI_fseek(movie->fp, AVI_HDRL_SOFF, SEEK_SET);
PUT_FCCN((header_pos2 - header_pos1 + 4L), movie->fp);
@@ -920,7 +920,7 @@ AviError AVI_write_frame(AviMovie *movie, int frame_num, ...)
/* Slap a new record entry onto the end of the file */
- fseek(movie->fp, 0L, SEEK_END);
+ BLI_fseek(movie->fp, 0L, SEEK_END);
list.fcc = FCC("LIST");
list.size = 0;
@@ -928,7 +928,7 @@ AviError AVI_write_frame(AviMovie *movie, int frame_num, ...)
awrite(movie, &list, 1, sizeof(AviList), movie->fp, AVI_LIST);
- rec_off = ftell(movie->fp) - 8L;
+ rec_off = BLI_ftell(movie->fp) - 8L;
/* Write a frame for every stream */
@@ -947,7 +947,7 @@ AviError AVI_write_frame(AviMovie *movie, int frame_num, ...)
/* Write the header info for this data chunk */
- fseek(movie->fp, 0L, SEEK_END);
+ BLI_fseek(movie->fp, 0L, SEEK_END);
chunk.fcc = avi_get_data_id(format, stream);
chunk.size = size;
@@ -963,7 +963,7 @@ AviError AVI_write_frame(AviMovie *movie, int frame_num, ...)
movie->entries[frame_num * (movie->header->Streams + 1) + stream + 1].ChunkId = chunk.fcc;
movie->entries[frame_num * (movie->header->Streams + 1) + stream + 1].Flags = AVIIF_KEYFRAME;
movie->entries[frame_num * (movie->header->Streams + 1) + stream + 1].Offset =
- (int)(ftell(movie->fp) - 12L - movie->movi_offset);
+ (int)(BLI_ftell(movie->fp) - 12L - movie->movi_offset);
movie->entries[frame_num * (movie->header->Streams + 1) + stream + 1].Size = chunk.size;
/* Write the chunk */
@@ -976,29 +976,29 @@ AviError AVI_write_frame(AviMovie *movie, int frame_num, ...)
/* Update the stream headers length field */
movie->streams[stream].sh.Length++;
- fseek(movie->fp, movie->offset_table[1 + stream * 2], SEEK_SET);
+ BLI_fseek(movie->fp, movie->offset_table[1 + stream * 2], SEEK_SET);
awrite(movie, &movie->streams[stream].sh, 1, sizeof(AviStreamHeader), movie->fp, AVI_STREAMH);
}
va_end(ap);
/* Record the entry for the new record */
- fseek(movie->fp, 0L, SEEK_END);
+ BLI_fseek(movie->fp, 0L, SEEK_END);
movie->entries[frame_num * (movie->header->Streams + 1)].ChunkId = FCC("rec ");
movie->entries[frame_num * (movie->header->Streams + 1)].Flags = AVIIF_LIST;
movie->entries[frame_num * (movie->header->Streams + 1)].Offset = (int)(rec_off - 8L -
movie->movi_offset);
- movie->entries[frame_num * (movie->header->Streams + 1)].Size = (int)(ftell(movie->fp) -
+ movie->entries[frame_num * (movie->header->Streams + 1)].Size = (int)(BLI_ftell(movie->fp) -
(rec_off + 4L));
/* Update the record size */
- fseek(movie->fp, rec_off, SEEK_SET);
+ BLI_fseek(movie->fp, rec_off, SEEK_SET);
PUT_FCCN(movie->entries[frame_num * (movie->header->Streams + 1)].Size, movie->fp);
/* Update the main header information in the file */
movie->header->TotalFrames++;
- fseek(movie->fp, movie->offset_table[0], SEEK_SET);
+ BLI_fseek(movie->fp, movie->offset_table[0], SEEK_SET);
awrite(movie, movie->header, 1, sizeof(AviMainHeader), movie->fp, AVI_MAINH);
return AVI_ERROR_NONE;
@@ -1013,8 +1013,8 @@ AviError AVI_close_compress(AviMovie *movie)
return AVI_ERROR_FOUND;
}
- fseek(movie->fp, 0L, SEEK_END);
- movi_size = (int)ftell(movie->fp);
+ BLI_fseek(movie->fp, 0L, SEEK_END);
+ movi_size = (int)BLI_ftell(movie->fp);
PUT_FCC("idx1", movie->fp);
PUT_FCCN((movie->index_entries * (movie->header->Streams + 1) * 16), movie->fp);
@@ -1023,13 +1023,13 @@ AviError AVI_close_compress(AviMovie *movie)
awrite(movie, &movie->entries[temp], 1, sizeof(AviIndexEntry), movie->fp, AVI_INDEXE);
}
- temp = (int)ftell(movie->fp);
+ temp = (int)BLI_ftell(movie->fp);
- fseek(movie->fp, AVI_RIFF_SOFF, SEEK_SET);
+ BLI_fseek(movie->fp, AVI_RIFF_SOFF, SEEK_SET);
PUT_FCCN((temp - 8L), movie->fp);
- fseek(movie->fp, movie->movi_offset, SEEK_SET);
+ BLI_fseek(movie->fp, movie->movi_offset, SEEK_SET);
PUT_FCCN((movi_size - (movie->movi_offset + 4L)), movie->fp);
diff --git a/source/blender/io/avi/intern/avi_options.c b/source/blender/io/avi/intern/avi_options.c
index 65db8c19397..b078eccf376 100644
--- a/source/blender/io/avi/intern/avi_options.c
+++ b/source/blender/io/avi/intern/avi_options.c
@@ -27,6 +27,7 @@
#include "AVI_avi.h"
#include "avi_intern.h"
#include "avi_endian.h"
+#include "BLI_fileops.h"
#ifdef WIN32
# include "BLI_winstuff.h"
@@ -61,7 +62,7 @@ AviError AVI_set_compress_option(
movie->streams[i].sh.right = *((int *)opt_data);
((AviBitmapInfoHeader *)movie->streams[i].sf)->SizeImage =
movie->header->SuggestedBufferSize;
- fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
+ BLI_fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
awrite(movie,
movie->streams[i].sf,
1,
@@ -84,7 +85,7 @@ AviError AVI_set_compress_option(
movie->streams[i].sh.bottom = *((int *)opt_data);
((AviBitmapInfoHeader *)movie->streams[i].sf)->SizeImage =
movie->header->SuggestedBufferSize;
- fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
+ BLI_fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
awrite(movie,
movie->streams[i].sf,
1,
@@ -100,7 +101,7 @@ AviError AVI_set_compress_option(
for (i = 0; i < movie->header->Streams; i++) {
if (avi_get_format_type(movie->streams[i].format) == FCC("vids")) {
movie->streams[i].sh.Quality = (*((int *)opt_data)) * 100;
- fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
+ BLI_fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
awrite(movie,
movie->streams[i].sf,
1,
@@ -120,7 +121,7 @@ AviError AVI_set_compress_option(
for (i = 0; i < movie->header->Streams; i++) {
if (avi_get_format_type(movie->streams[i].format) == FCC("vids")) {
movie->streams[i].sh.Scale = movie->header->MicroSecPerFrame;
- fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
+ BLI_fseek(movie->fp, movie->offset_table[1 + i * 2 + 1], SEEK_SET);
awrite(movie,
movie->streams[i].sf,
1,
@@ -132,7 +133,7 @@ AviError AVI_set_compress_option(
break;
}
- fseek(movie->fp, movie->offset_table[0], SEEK_SET);
+ BLI_fseek(movie->fp, movie->offset_table[0], SEEK_SET);
awrite(movie, movie->header, 1, sizeof(AviMainHeader), movie->fp, AVI_MAINH);
break;
diff --git a/source/blender/modifiers/intern/MOD_meshcache_mdd.c b/source/blender/modifiers/intern/MOD_meshcache_mdd.c
index a3ab0120ff9..f3cb1469d8b 100644
--- a/source/blender/modifiers/intern/MOD_meshcache_mdd.c
+++ b/source/blender/modifiers/intern/MOD_meshcache_mdd.c
@@ -155,12 +155,12 @@ bool MOD_meshcache_read_mdd_index(FILE *fp,
return false;
}
- if (fseek(fp, mdd_head.frame_tot * sizeof(int), SEEK_CUR) != 0) {
+ if (BLI_fseek(fp, mdd_head.frame_tot * sizeof(int), SEEK_CUR) != 0) {
*err_str = "Header seek failed";
return false;
}
- if (fseek(fp, sizeof(float) * 3 * index * mdd_head.verts_tot, SEEK_CUR) != 0) {
+ if (BLI_fseek(fp, sizeof(float) * 3 * index * mdd_head.verts_tot, SEEK_CUR) != 0) {
*err_str = "Failed to seek frame";
return false;
}
@@ -234,7 +234,7 @@ bool MOD_meshcache_read_mdd_frame(FILE *fp,
if (index_range[0] == index_range[1]) {
/* read single */
- if ((fseek(fp, 0, SEEK_SET) == 0) &&
+ if ((BLI_fseek(fp, 0, SEEK_SET) == 0) &&
MOD_meshcache_read_mdd_index(fp, vertexCos, verts_tot, index_range[0], 1.0f, err_str)) {
return true;
}
@@ -244,9 +244,9 @@ bool MOD_meshcache_read_mdd_frame(FILE *fp,
}
else {
/* read both and interpolate */
- if ((fseek(fp, 0, SEEK_SET) == 0) &&
+ if ((BLI_fseek(fp, 0, SEEK_SET) == 0) &&
MOD_meshcache_read_mdd_index(fp, vertexCos, verts_tot, index_range[0], 1.0f, err_str) &&
- (fseek(fp, 0, SEEK_SET) == 0) &&
+ (BLI_fseek(fp, 0, SEEK_SET) == 0) &&
MOD_meshcache_read_mdd_index(fp, vertexCos, verts_tot, index_range[1], factor, err_str)) {
return true;
}
diff --git a/source/blender/modifiers/intern/MOD_meshcache_pc2.c b/source/blender/modifiers/intern/MOD_meshcache_pc2.c
index 7b8ad0bd705..8d4b4a6dfdd 100644
--- a/source/blender/modifiers/intern/MOD_meshcache_pc2.c
+++ b/source/blender/modifiers/intern/MOD_meshcache_pc2.c
@@ -146,7 +146,7 @@ bool MOD_meshcache_read_pc2_index(FILE *fp,
return false;
}
- if (fseek(fp, sizeof(float) * 3 * index * pc2_head.verts_tot, SEEK_CUR) != 0) {
+ if (BLI_fseek(fp, sizeof(float) * 3 * index * pc2_head.verts_tot, SEEK_CUR) != 0) {
*err_str = "Failed to seek frame";
return false;
}
@@ -209,7 +209,7 @@ bool MOD_meshcache_read_pc2_frame(FILE *fp,
if (index_range[0] == index_range[1]) {
/* read single */
- if ((fseek(fp, 0, SEEK_SET) == 0) &&
+ if ((BLI_fseek(fp, 0, SEEK_SET) == 0) &&
MOD_meshcache_read_pc2_index(fp, vertexCos, verts_tot, index_range[0], 1.0f, err_str)) {
return true;
}
@@ -219,9 +219,9 @@ bool MOD_meshcache_read_pc2_frame(FILE *fp,
}
else {
/* read both and interpolate */
- if ((fseek(fp, 0, SEEK_SET) == 0) &&
+ if ((BLI_fseek(fp, 0, SEEK_SET) == 0) &&
MOD_meshcache_read_pc2_index(fp, vertexCos, verts_tot, index_range[0], 1.0f, err_str) &&
- (fseek(fp, 0, SEEK_SET) == 0) &&
+ (BLI_fseek(fp, 0, SEEK_SET) == 0) &&
MOD_meshcache_read_pc2_index(fp, vertexCos, verts_tot, index_range[1], factor, err_str)) {
return true;
}