Fix array comparison for ATA and SCSI

This commit is contained in:
2019-11-17 19:43:42 +00:00
parent 09042dfe9a
commit 6c9456564e
2 changed files with 31 additions and 14 deletions

View File

@@ -287,8 +287,8 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
if(fieldInfo.FieldType.IsArray)
{
object[] la = lv as object[];
object[] ra = rv as object[];
var la = lv as Array;
var ra = rv as Array;
switch(la)
{
@@ -310,12 +310,20 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
continue;
}
if(la.SequenceEqual(ra))
continue;
List<object> ll = la.Cast<object>().ToList();
List<object> rl = ra.Cast<object>().ToList();
model.ValueNames.Add(fieldInfo.Name);
model.LeftValues.Add("[]");
model.RightValues.Add("[]");
for(int i = 0; i < ll.Count; i++)
{
if(ll[i].Equals(rl[i]))
continue;
model.ValueNames.Add(fieldInfo.Name);
model.LeftValues.Add("[]");
model.RightValues.Add("[]");
break;
}
}
else if(lv == null &&
rv == null) { }