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)
|
RFILE* rfopen(const char *path, const char *mode)
|
||||||
{
|
{
|
||||||
unsigned int retro_mode = 0;
|
RFILE *output = NULL;
|
||||||
if (strstr(mode, "r"))
|
unsigned int retro_mode = RETRO_VFS_FILE_ACCESS_READ;
|
||||||
retro_mode = RETRO_VFS_FILE_ACCESS_READ;
|
bool position_to_end = false;
|
||||||
|
|
||||||
if (strstr(mode, "w"))
|
if (strstr(mode, "w"))
|
||||||
retro_mode = RETRO_VFS_FILE_ACCESS_WRITE;
|
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)
|
int rfclose(RFILE* stream)
|
||||||
@ -70,9 +87,9 @@ int rfseek(RFILE* stream, long offset, int origin)
|
|||||||
}
|
}
|
||||||
|
|
||||||
size_t rfread(void* buffer,
|
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)
|
char *rfgets(char *buffer, int maxCount, RFILE* stream)
|
||||||
@ -86,9 +103,9 @@ int rfgetc(RFILE* stream)
|
|||||||
}
|
}
|
||||||
|
|
||||||
size_t rfwrite(void const* buffer,
|
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)
|
int rfputc(int character, RFILE * stream)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user