summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emucore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/emucore.cpp')
-rw-r--r--src/emu/emucore.cpp74
1 files changed, 6 insertions, 68 deletions
diff --git a/src/emu/emucore.cpp b/src/emu/emucore.cpp
index 35256b4f364..689d5fa1c37 100644
--- a/src/emu/emucore.cpp
+++ b/src/emu/emucore.cpp
@@ -14,60 +14,16 @@
const char *const endianness_names[2] = { "little", "big" };
-emu_fatalerror::emu_fatalerror(const char *format, ...) : code(0)
+emu_fatalerror::emu_fatalerror(util::format_argument_pack<std::ostream> const &args)
+ : emu_fatalerror(0, args)
{
- if (format == nullptr)
- {
- text[0] = '\0';
- }
- else
- {
- va_list ap;
- va_start(ap, format);
- vsnprintf(text, sizeof(text), format, ap);
- va_end(ap);
- }
- osd_break_into_debugger(text);
+ osd_break_into_debugger(m_text.c_str());
}
-emu_fatalerror::emu_fatalerror(const char *format, va_list ap) : code(0)
+emu_fatalerror::emu_fatalerror(int _exitcode, util::format_argument_pack<std::ostream> const &args)
+ : m_text(util::string_format(args))
+ , m_code(_exitcode)
{
- if (format == nullptr)
- {
- text[0] = '\0';
- }
- else
- {
- vsnprintf(text, sizeof(text), format, ap);
- }
- osd_break_into_debugger(text);
-}
-
-emu_fatalerror::emu_fatalerror(int _exitcode, const char *format, ...) : code(_exitcode)
-{
- if (format == nullptr)
- {
- text[0] = '\0';
- }
- else
- {
- va_list ap;
- va_start(ap, format);
- vsnprintf(text, sizeof(text), format, ap);
- va_end(ap);
- }
-}
-
-emu_fatalerror::emu_fatalerror(int _exitcode, const char *format, va_list ap) : code(_exitcode)
-{
- if (format == nullptr)
- {
- text[0] = '\0';
- }
- else
- {
- vsnprintf(text, sizeof(text), format, ap);
- }
}
@@ -82,21 +38,3 @@ void report_bad_device_cast(const device_t *dev, const std::type_info &src_type,
throw emu_fatalerror("Error: bad downcast<> or device<>. Tried to convert the device %s (%s) of type %s to a %s, which are incompatible.\n",
dev->tag(), dev->name(), src_type.name(), dst_type.name());
}
-
-void fatalerror(const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
- emu_fatalerror error(format, ap);
- va_end(ap);
- throw error;
-}
-
-void fatalerror_exitcode(running_machine &machine, int exitcode, const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
- emu_fatalerror error(exitcode, format, ap);
- va_end(ap);
- throw error;
-}