diff --git a/libretro-common/include/streams/file_stream.h b/libretro-common/include/streams/file_stream.h index 5a1784df39..5fd1aa148e 100644 --- a/libretro-common/include/streams/file_stream.h +++ b/libretro-common/include/streams/file_stream.h @@ -66,6 +66,8 @@ int filestream_read_file(const char *path, void **buf, ssize_t *len); bool filestream_write_file(const char *path, const void *data, ssize_t size); +int filestream_putc(RFILE *stream, int c); + int filestream_get_fd(RFILE *stream); #ifdef __cplusplus diff --git a/libretro-common/streams/file_stream.c b/libretro-common/streams/file_stream.c index c1b1857cf5..543d9f0d30 100644 --- a/libretro-common/streams/file_stream.c +++ b/libretro-common/streams/file_stream.c @@ -409,6 +409,18 @@ error: return -1; } +int filestream_putc(RFILE *stream, int c) +{ + if (!stream) + return EOF; + +#if defined(HAVE_BUFFERED_IO) + return fputc(c, stream->fp); +#else + return EOF; +#endif +} + int filestream_close(RFILE *stream) { if (!stream)