[Bf-blender-cvs] [875a8a6c79b] master: Cleanup: Replace fseek() calls with BLI_fseek()

Harley Acheson noreply at git.blender.org
Mon May 31 19:09:48 CEST 2021


Commit: 875a8a6c79b0c5da1715b70eaa58b12f9b816767
Author: Harley Acheson
Date:   Mon May 31 10:06:38 2021 -0700
Branches: master
https://developer.blender.org/rB875a8a6c79b0c5da1715b70eaa58b12f9b816767

Cleanup: Replace fseek() calls with BLI_fseek()

The fseek() function on Windows only accepts a 32-bit long offset
argument. Because of this we have our own version, BLI_fseek(), which
will use 64-bit _fseeki64() on Windows. This patch just replaces some
fseek() calls with BLI_fseek().

Differential Revision: https://developer.blender.org/D11430

Reviewed by Brecht Van Lommel

===================================================================

M	source/blender/blenfont/intern/blf_font_win32_compat.c
M	source/blender/blenkernel/intern/customdata_file.c
M	source/blender/blenlib/intern/fileops.c
M	source/blender/sequencer/intern/image_cache.c

===================================================================

diff --git a/source/blender/blenfont/intern/blf_font_win32_compat.c b/source/blender/blenfont/intern/blf_font_win32_compat.c
index 7d130204c07..e573d3bd224 100644
--- a/source/blender/blenfont/intern/blf_font_win32_compat.c
+++ b/source/blender/blenfont/intern/blf_font_win32_compat.c
@@ -66,7 +66,7 @@ static unsigned long ft_ansi_stream_io(FT_Stream stream,
   file = STREAM_FILE(stream);
 
   if (stream->pos != offset) {
-    fseek(file, offset, SEEK_SET);
+    BLI_fseek(file, offset, SEEK_SET);
   }
 
   return fread(buffer, 1, count, file);
@@ -93,7 +93,7 @@ static FT_Error FT_Stream_Open__win32_compat(FT_Stream stream, const char *filep
     return FT_THROW(Cannot_Open_Resource);
   }
 
-  fseek(file, 0, SEEK_END);
+  BLI_fseek(file, 0LL, SEEK_END);
   stream->size = ftell(file);
   if (!stream->size) {
     fprintf(stderr,
@@ -104,7 +104,7 @@ static FT_Error FT_Stream_Open__win32_compat(FT_Stream stream, const char *filep
     return FT_THROW(Cannot_Open_Stream);
   }
 
-  fseek(file, 0, SEEK_SET);
+  BLI_fseek(file, 0LL, SEEK_SET);
 
   stream->descriptor.pointer = file;
   stream->read = ft_ansi_stream_io;
diff --git a/source/blender/blenkernel/intern/customdata_file.c b/source/blender/blenkernel/intern/customdata_file.c
index 470c2f2d246..4aaecc26eff 100644
--- a/source/blender/blenkernel/intern/customdata_file.c
+++ b/source/blender/blenkernel/intern/customdata_file.c
@@ -167,7 +167,7 @@ static bool cdf_read_header(CDataFile *cdf)
   offset += header->structbytes;
   header->structbytes = sizeof(CDataFileHeader);
 
-  if (fseek(f, offset, SEEK_SET) != 0) {
+  if (BLI_fseek(f, offset, SEEK_SET) != 0) {
     return false;
   }
 
@@ -201,7 +201,7 @@ static bool cdf_read_header(CDataFile *cdf)
     mesh->structbytes = sizeof(CDataFileMeshHeader);
   }
 
-  if (fseek(f, offset, SEEK_SET) != 0) {
+  if (BLI_fseek(f, offset, SEEK_SET) != 0) {
     return false;
   }
 
@@ -233,7 +233,7 @@ static bool cdf_read_header(CDataFile *cdf)
     offset += layer->structbytes;
     layer->structbytes = sizeof(CDataFileLayer);
 
-    if (fseek(f, offset, SEEK_SET) != 0) {
+    if (BLI_fseek(f, offset, SEEK_SET) != 0) {
       return false;
     }
   }
@@ -321,7 +321,7 @@ bool cdf_read_layer(CDataFile *cdf, CDataFileLayer *blay)
     offset += cdf->layer[a].datasize;
   }
 
-  return (fseek(cdf->readf, offset, SEEK_SET) == 0);
+  return (BLI_fseek(cdf->readf, offset, SEEK_SET) == 0);
 }
 
 bool cdf_read_data(CDataFile *cdf, unsigned int size, void *data)
diff --git a/source/blender/blenlib/intern/fileops.c b/source/blender/blenlib/intern/fileops.c
index 106bd5bc793..107c27da6a2 100644
--- a/source/blender/blenlib/intern/fileops.c
+++ b/source/blender/blenlib/intern/fileops.c
@@ -171,7 +171,7 @@ size_t BLI_gzip_mem_to_file_at_pos(
   z_stream strm;
   unsigned char out[CHUNK];
 
-  fseek(file, gz_stream_offset, 0);
+  BLI_fseek(file, gz_stream_offset, 0);
 
   strm.zalloc = Z_NULL;
   strm.zfree = Z_NULL;
@@ -217,7 +217,7 @@ size_t BLI_ungzip_file_to_mem_at_pos(void *buf, size_t len, FILE *file, size_t g
   size_t chunk = 256 * 1024;
   unsigned char in[CHUNK];
 
-  fseek(file, gz_stream_offset, 0);
+  BLI_fseek(file, gz_stream_offset, 0);
 
   strm.zalloc = Z_NULL;
   strm.zfree = Z_NULL;
diff --git a/source/blender/sequencer/intern/image_cache.c b/source/blender/sequencer/intern/image_cache.c
index a0c95c1c197..5ccf2a027b0 100644
--- a/source/blender/sequencer/intern/image_cache.c
+++ b/source/blender/sequencer/intern/image_cache.c
@@ -518,7 +518,7 @@ static size_t inflate_file_to_imbuf(ImBuf *ibuf, FILE *file, DiskCacheHeaderEntr
 
 static bool seq_disk_cache_read_header(FILE *file, DiskCacheHeader *header)
 {
-  fseek(file, 0, 0);
+  BLI_fseek(file, 0LL, SEEK_SET);
   const size_t num_items_read = fread(header, sizeof(*header), 1, file);
   if (num_items_read < 1) {
     BLI_assert(!"unable to read disk cache header");
@@ -540,7 +540,7 @@ static bool seq_disk_cache_read_header(FILE *file, DiskCacheHeader *header)
 
 static size_t seq_disk_cache_write_header(FILE *file, DiskCacheHeader *header)
 {
-  fseek(file, 0, 0);
+  BLI_fseek(file, 0LL, SEEK_SET);
   return fwrite(header, sizeof(*header), 1, file);
 }



More information about the Bf-blender-cvs mailing list