From 8f0dc9d9a2221cd4399dd2eaf0a56ebec3241d10 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 30 Apr 2023 16:55:55 -0400 Subject: [PATCH] Eliminate use of deprecated codecvt. --- OSBindings/Mac/Clock Signal/Machine/CSMachine.mm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm b/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm index 56368bc7b..3331eb969 100644 --- a/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm +++ b/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm @@ -33,7 +33,6 @@ #include #include #include -#include #include namespace { @@ -145,9 +144,13 @@ struct ActivityObserver: public Activity::Observer { ROM::Request missing_roms; _machine.reset(Machine::MachineForTargets(_analyser.targets, CSROMFetcher(&missing_roms), error)); if(!_machine) { - std::wstring_convert> wstring_converter; const std::wstring description = missing_roms.description(0, L'•'); - [missingROMs appendString:[NSString stringWithUTF8String:wstring_converter.to_bytes(description).c_str()]]; + static_assert(sizeof(wchar_t) == 4, "This code assumes wchar_t is UTF32"); + NSString *nativeString = [[NSString alloc] + initWithBytes:description.data() + length:description.size()*sizeof(wchar_t) + encoding:NSUTF32LittleEndianStringEncoding]; + [missingROMs appendString:nativeString]; return nil; } updater.performer.machine = _machine.get();