diff options
author | emmauss <emmausssss@gmail.com> | 2018-11-18 21:37:41 +0200 |
---|---|---|
committer | gdkchan <gab.dark.100@gmail.com> | 2018-11-18 17:37:41 -0200 |
commit | fe8fbb6fb9b85a528ddfa4848ec8e35fd9a5e9a5 (patch) | |
tree | 7cd33a50d1ebc98e467df93aeb86315679110778 /Ryujinx.HLE/Utilities/StringUtils.cs | |
parent | e603b7afbcdff0fc732304872f5a65d410c601f9 (diff) |
Implement ContentManager and related services (#438)
* Implement contentmanager and related services
* small changes
* read system firmware version from nand
* add pfs support, write directoryentry info for romfs files
* add file check in fsp-srv:8
* add support for open fs of internal files
* fix filename when accessing pfs
* use switch style paths for contentpath
* close nca after verifying type
* removed publishing profiles, align directory entry
* fix style
* lots of style fixes
* yasf(yet another style fix)
* yasf(yet another style fix) plus symbols
* enforce path check on every fs access
* change enum type to default
* fix typo
Diffstat (limited to 'Ryujinx.HLE/Utilities/StringUtils.cs')
-rw-r--r-- | Ryujinx.HLE/Utilities/StringUtils.cs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/Ryujinx.HLE/Utilities/StringUtils.cs b/Ryujinx.HLE/Utilities/StringUtils.cs index e8d6550a..a10273ee 100644 --- a/Ryujinx.HLE/Utilities/StringUtils.cs +++ b/Ryujinx.HLE/Utilities/StringUtils.cs @@ -1,5 +1,7 @@ -using System; +using Ryujinx.HLE.HOS; +using System; using System.Globalization; +using System.IO; using System.Linq; using System.Text; @@ -47,5 +49,28 @@ namespace Ryujinx.HLE.Utilities return Output; } + + public static string ReadUtf8String(ServiceCtx Context, int Index = 0) + { + long Position = Context.Request.PtrBuff[Index].Position; + long Size = Context.Request.PtrBuff[Index].Size; + + using (MemoryStream MS = new MemoryStream()) + { + while (Size-- > 0) + { + byte Value = Context.Memory.ReadByte(Position++); + + if (Value == 0) + { + break; + } + + MS.WriteByte(Value); + } + + return Encoding.UTF8.GetString(MS.ToArray()); + } + } } } |