From 966b8a974afd5446f29032ffaa193df4c2d4589c Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Wed, 6 Jan 2021 16:50:49 +1000 Subject: [PATCH] string.Trim doesn't remove NUL I'm also skeptical of the `if (bs93/*=br.ReadBytes(6)*/ == "BS93") { ... }` just after this, it doesn't seem the condition can ever be met... --- src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs index b25ac0ca26..699877c782 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs @@ -2,6 +2,7 @@ using System.Text; using System.IO; +using BizHawk.Common.StringExtensions; using BizHawk.Emulation.Common; namespace BizHawk.Emulation.Cores.Atari.Lynx @@ -32,8 +33,8 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx int p0 = br.ReadUInt16(); int p1 = br.ReadUInt16(); int ver = br.ReadUInt16(); - string cname = Encoding.ASCII.GetString(br.ReadBytes(32)).Trim(); - string mname = Encoding.ASCII.GetString(br.ReadBytes(16)).Trim(); + string cname = Encoding.ASCII.GetString(br.ReadBytes(32)).SubstringBefore('\0').Trim(); + string mname = Encoding.ASCII.GetString(br.ReadBytes(16)).SubstringBefore('\0').Trim(); int rot = br.ReadByte(); ms.Position = 6;