summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/fileio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/fileio.cpp')
-rw-r--r--src/emu/fileio.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/emu/fileio.cpp b/src/emu/fileio.cpp
index a1bf4adbcb4..c0341b93368 100644
--- a/src/emu/fileio.cpp
+++ b/src/emu/fileio.cpp
@@ -14,6 +14,8 @@
#include "util/path.h"
#include "util/unzip.h"
+#include <tuple>
+
//#define VERBOSE 1
#define LOG_OUTPUT_FUNC osd_printf_verbose
#include "logmacro.h"
@@ -531,9 +533,10 @@ u32 emu_file::read(void *buffer, u32 length)
return 0;
// read the data if we can
+ std::error_condition err;
size_t actual = 0;
if (m_file)
- m_file->read(buffer, length, actual);
+ std::tie(err, actual) = util::read(*m_file, buffer, length);
return actual;
}
@@ -601,9 +604,10 @@ u32 emu_file::write(const void *buffer, u32 length)
{
// FIXME: need better interface to report errors
// write the data if we can
+ std::error_condition err;
size_t actual = 0;
if (m_file)
- m_file->write(buffer, length, actual);
+ std::tie(err, actual) = util::write(*m_file, buffer, length);
return actual;
}
@@ -627,7 +631,7 @@ int emu_file::puts(std::string_view s)
// vfprintf - vfprintf to a text file
//-------------------------------------------------
-int emu_file::vprintf(util::format_argument_pack<std::ostream> const &args)
+int emu_file::vprintf(util::format_argument_pack<char> const &args)
{
// write the data if we can
return m_file ? m_file->vprintf(args) : 0;