twn_util.c: add file_read()

This commit is contained in:
veclavtalica
2025-02-20 19:51:52 +03:00
parent e15975bfaa
commit a231d650f2
6 changed files with 39 additions and 64 deletions

View File

@ -297,58 +297,6 @@ static void* array_realloc(void* ptr, fastObjUInt n, fastObjUInt b)
}
static
void* file_open(const char* path, void* user_data)
{
(void)(user_data);
return fopen(path, "rb");
}
static
void file_close(void* file, void* user_data)
{
FILE* f;
(void)(user_data);
f = (FILE*)(file);
fclose(f);
}
static
size_t file_read(void* file, void* dst, size_t bytes, void* user_data)
{
FILE* f;
(void)(user_data);
f = (FILE*)(file);
return fread(dst, 1, bytes, f);
}
static
unsigned long file_size(void* file, void* user_data)
{
FILE* f;
long p;
long n;
(void)(user_data);
f = (FILE*)(file);
p = ftell(f);
fseek(f, 0, SEEK_END);
n = ftell(f);
fseek(f, p, SEEK_SET);
if (n > 0)
return (unsigned long)(n);
else
return 0;
}
static
char* string_copy(const char* s, const char* e)
{
@ -1408,18 +1356,6 @@ void fast_obj_destroy(fastObjMesh* m)
}
fastObjMesh* fast_obj_read(const char* path)
{
fastObjCallbacks callbacks;
callbacks.file_open = file_open;
callbacks.file_close = file_close;
callbacks.file_read = file_read;
callbacks.file_size = file_size;
return fast_obj_read_with_callbacks(path, &callbacks, 0);
}
fastObjMesh* fast_obj_read_with_callbacks(const char* path, const fastObjCallbacks* callbacks, void* user_data)
{
fastObjData data;