Fix Prepo parsing reports (#1016)

This fix the parsing of prepo service reports which could failed in some edge case. I've improved the parsing of the object to a JSON string too.
This commit is contained in:
Ac_K 2020-03-23 21:58:41 +01:00 committed by GitHub
parent 6edc929894
commit b2d307d34f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,9 +3,9 @@ using Ryujinx.Common;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Services.Account.Acc; using Ryujinx.HLE.HOS.Services.Account.Acc;
using Ryujinx.HLE.Utilities; using Ryujinx.HLE.Utilities;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text; using System.Text;
using Utf8Json;
namespace Ryujinx.HLE.HOS.Services.Prepo namespace Ryujinx.HLE.HOS.Services.Prepo
{ {
@ -95,12 +95,11 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
sb.AppendLine($" Room: {room}"); sb.AppendLine($" Room: {room}");
var payload = Deserialize<IDictionary<string, object>>(buffer); var deserializedReport = Deserialize<dynamic>(buffer);
string jsonReport = Encoding.ASCII.GetString(JsonSerializer.PrettyPrintByteArray(Encoding.UTF8.GetBytes(deserializedReport.ToString())));
foreach (var field in payload) sb.AppendLine($" Report:");
{ sb.AppendLine(jsonReport);
sb.AppendLine($" Key: {field.Key}, Value: {field.Value}");
}
return sb.ToString(); return sb.ToString();
} }