mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Add filestream_get_size/filestream_set_size
This commit is contained in:
parent
e9524f1b95
commit
e6ee2527e5
@ -47,6 +47,10 @@ enum
|
||||
RFILE_HINT_MMAP = 1<<9 /* requires RFILE_MODE_READ */
|
||||
};
|
||||
|
||||
long long int filestream_get_size(RFILE *stream);
|
||||
|
||||
void filestream_set_size(RFILE *stream);
|
||||
|
||||
const char *filestream_get_ext(RFILE *stream);
|
||||
|
||||
RFILE *filestream_open(const char *path, unsigned mode, ssize_t len);
|
||||
|
@ -69,6 +69,7 @@ struct RFILE
|
||||
{
|
||||
unsigned hints;
|
||||
char *ext;
|
||||
long long int size;
|
||||
#if defined(PSP)
|
||||
SceUID fd;
|
||||
#else
|
||||
@ -110,6 +111,26 @@ const char *filestream_get_ext(RFILE *stream)
|
||||
return stream->ext;
|
||||
}
|
||||
|
||||
long long int filestream_get_size(RFILE *stream)
|
||||
{
|
||||
if (!stream)
|
||||
return 0;
|
||||
return stream->size;
|
||||
}
|
||||
|
||||
void filestream_set_size(RFILE *stream)
|
||||
{
|
||||
if (!stream)
|
||||
return;
|
||||
|
||||
filestream_seek(stream, 0, SEEK_SET);
|
||||
filestream_seek(stream, 0, SEEK_END);
|
||||
|
||||
stream->size = filestream_tell(stream);
|
||||
|
||||
filestream_seek(stream, 0, SEEK_SET);
|
||||
}
|
||||
|
||||
RFILE *filestream_open(const char *path, unsigned mode, ssize_t len)
|
||||
{
|
||||
int flags = 0;
|
||||
@ -249,6 +270,8 @@ RFILE *filestream_open(const char *path, unsigned mode, ssize_t len)
|
||||
stream->ext = strdup(ld ? ld + 1 : "");
|
||||
}
|
||||
|
||||
filestream_set_size(stream);
|
||||
|
||||
return stream;
|
||||
|
||||
error:
|
||||
|
Loading…
x
Reference in New Issue
Block a user