Skip to content

Commit 6968c66

Browse files
committed
- add file system direct functions for android
1 parent 9f8233c commit 6968c66

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

core/pen/source/android/os.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -777,6 +777,27 @@ namespace pen
777777
return 0;
778778
}
779779

780+
pen_error filesystem_read_file_to_buffer_direct(const c8* filename, void** p_buffer, u32& buffer_size)
781+
{
782+
// check for abs files
783+
FILE* file = fopen(filename, "rb");
784+
if (file)
785+
{
786+
fseek(file, 0L, SEEK_END);
787+
size_t size = (u32)ftell(file);
788+
fseek(file, 0L, SEEK_SET);
789+
void* buf = pen::memory_alloc(size + 1);
790+
((c8*)buf)[size] = '\0';
791+
fread(buf, 1, size, file);
792+
fclose(file);
793+
794+
buffer_size = size;
795+
*p_buffer = buf;
796+
}
797+
798+
return PEN_ERR_OK;
799+
}
800+
780801
pen_error filesystem_read_file_to_buffer(const c8* filename, void** p_buffer, u32& buffer_size)
781802
{
782803
AAsset* asset = AAssetManager_open(s_android_context.m_asset_manager, filename, AASSET_MODE_STREAMING);

core/pen/source/win32/file_system.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,11 @@ namespace pen
122122
return PEN_ERR_FILE_NOT_FOUND;
123123
}
124124

125+
pen_error filesystem_read_file_to_buffer_direct(const c8* filename, void** p_buffer, u32& buffer_size)
126+
{
127+
filesystem_read_file_to_buffer(filename, p_buffer, buffer_size);
128+
}
129+
125130
pen_error filesystem_enum_volumes(fs_tree_node& tree)
126131
{
127132
DWORD drive_bit_mask = GetLogicalDrives();

0 commit comments

Comments
 (0)