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
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-02-24 04:34:41 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-02-24 04:41:37 +0300
commit8ed82e82e6a29461cbf2836fbbe7ca2f0557cc6e (patch)
tree0ea42d30a070e589dae8379edf25f75d1d896eaf /source/blender/blenloader/intern/readfile.h
parent519982fd3ea0ab240029db5b095bbc31c6d0cb05 (diff)
readfile: use regular file access when not a gzip
Allows for different behavior w/ compressed files, will also make it simpler to support other compression types, see: T56162
Diffstat (limited to 'source/blender/blenloader/intern/readfile.h')
-rw-r--r--source/blender/blenloader/intern/readfile.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/source/blender/blenloader/intern/readfile.h b/source/blender/blenloader/intern/readfile.h
index 4fe65934107..49ae2849f4f 100644
--- a/source/blender/blenloader/intern/readfile.h
+++ b/source/blender/blenloader/intern/readfile.h
@@ -48,6 +48,11 @@ enum eFileDataFlag {
FD_FLAGS_NOT_MY_LIBMAP = 1 << 5,
};
+
+
+typedef int (FileDataReadFn)(struct FileData *filedata, void *buffer, unsigned int size);
+typedef off_t (FileDataSeekFn)(struct FileData *filedata, off_t offset, int whence);
+
typedef struct FileData {
/** Linked list of BHeadN's. */
ListBase listbase;
@@ -55,8 +60,12 @@ typedef struct FileData {
bool is_eof;
int buffersize;
off_t file_offset;
- int (*read)(struct FileData *filedata, void *buffer, unsigned int size);
- off_t (*seek)(struct FileData *filedata, off_t offset, int whence);
+
+ FileDataReadFn *read;
+ FileDataSeekFn *seek;
+
+ /** Regular file reading. */
+ int filedes;
/** Variables needed for reading from memory / stream. */
const char *buffer;
@@ -65,12 +74,12 @@ typedef struct FileData {
/** Variables needed for reading from file. */
gzFile gzfiledes;
+ /** Gzip stream for memory decompression. */
+ z_stream strm;
/** Now only in use for library appending. */
char relabase[FILE_MAX];
- /** Gzip stream for memory decompression. */
- z_stream strm;
/** General reading variables. */
struct SDNA *filesdna;