mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 22:13:51 +00:00
Update file_stream_transforms.c
This commit is contained in:
parent
ad695a8b72
commit
21bf01ca6c
@ -28,16 +28,33 @@
|
||||
|
||||
RFILE* rfopen(const char *path, const char *mode)
|
||||
{
|
||||
unsigned int retro_mode = 0;
|
||||
if (strstr(mode, "r"))
|
||||
retro_mode = RETRO_VFS_FILE_ACCESS_READ;
|
||||
RFILE *output = NULL;
|
||||
unsigned int retro_mode = RETRO_VFS_FILE_ACCESS_READ;
|
||||
bool position_to_end = false;
|
||||
|
||||
if (strstr(mode, "w"))
|
||||
retro_mode = RETRO_VFS_FILE_ACCESS_WRITE;
|
||||
if (strstr(mode, "+"))
|
||||
retro_mode = RETRO_VFS_FILE_ACCESS_READ_WRITE;
|
||||
|
||||
return filestream_open(path, retro_mode, RETRO_VFS_FILE_ACCESS_HINT_NONE);
|
||||
if (strstr(mode, "a"))
|
||||
{
|
||||
retro_mode = RETRO_VFS_FILE_ACCESS_READ_WRITE |
|
||||
RETRO_VFS_FILE_ACCESS_UPDATE_EXISTING;
|
||||
position_to_end = true;
|
||||
}
|
||||
|
||||
if (strstr(mode, "+"))
|
||||
{
|
||||
retro_mode = RETRO_VFS_FILE_ACCESS_READ_WRITE;
|
||||
if (strstr(mode, "r"))
|
||||
retro_mode = retro_mode & RETRO_VFS_FILE_ACCESS_UPDATE_EXISTING;
|
||||
}
|
||||
|
||||
output = filestream_open(path, retro_mode,
|
||||
RETRO_VFS_FILE_ACCESS_HINT_NONE);
|
||||
if (output && position_to_end)
|
||||
filestream_seek(output, 0, RETRO_VFS_SEEK_POSITION_END);
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
int rfclose(RFILE* stream)
|
||||
@ -70,9 +87,9 @@ int rfseek(RFILE* stream, long offset, int origin)
|
||||
}
|
||||
|
||||
size_t rfread(void* buffer,
|
||||
size_t elementSize, size_t elementCount, RFILE* stream)
|
||||
size_t elem_size, size_t elem_count, RFILE* stream)
|
||||
{
|
||||
return filestream_read(stream, buffer, elementSize*elementCount);
|
||||
return filestream_read(stream, buffer, elem_size * elem_count);
|
||||
}
|
||||
|
||||
char *rfgets(char *buffer, int maxCount, RFILE* stream)
|
||||
@ -86,9 +103,9 @@ int rfgetc(RFILE* stream)
|
||||
}
|
||||
|
||||
size_t rfwrite(void const* buffer,
|
||||
size_t elementSize, size_t elementCount, RFILE* stream)
|
||||
size_t elem_size, size_t elem_count, RFILE* stream)
|
||||
{
|
||||
return filestream_write(stream, buffer, elementSize*elementCount);
|
||||
return filestream_write(stream, buffer, elem_size * elem_count);
|
||||
}
|
||||
|
||||
int rfputc(int character, RFILE * stream)
|
||||
|
Loading…
x
Reference in New Issue
Block a user