[RomManipulation] Check for null hashes

This commit is contained in:
Matt Nadareski
2016-06-10 14:00:33 -07:00
parent ab094118cb
commit 30a760abc2

View File

@@ -279,15 +279,24 @@ namespace SabreTools.Helper
} }
// Sanitize the hashes from null, hex sizes, and "true blank" strings // Sanitize the hashes from null, hex sizes, and "true blank" strings
if (rom.CRC != null)
{
rom.CRC = (rom.CRC.StartsWith("0x") ? rom.CRC.Remove(0, 2) : rom.CRC); rom.CRC = (rom.CRC.StartsWith("0x") ? rom.CRC.Remove(0, 2) : rom.CRC);
rom.CRC = (rom.CRC == "-" ? "" : rom.CRC); rom.CRC = (rom.CRC == "-" ? "" : rom.CRC);
rom.CRC = (rom.CRC == "" ? "" : rom.CRC.PadLeft(8, '0')); rom.CRC = (rom.CRC == "" ? "" : rom.CRC.PadLeft(8, '0'));
}
if (rom.MD5 != null)
{
rom.MD5 = (rom.MD5.StartsWith("0x") ? rom.MD5.Remove(0, 2) : rom.MD5); rom.MD5 = (rom.MD5.StartsWith("0x") ? rom.MD5.Remove(0, 2) : rom.MD5);
rom.MD5 = (rom.MD5 == "-" ? "" : rom.MD5); rom.MD5 = (rom.MD5 == "-" ? "" : rom.MD5);
rom.MD5 = (rom.MD5 == "" ? "" : rom.MD5.PadLeft(32, '0')); rom.MD5 = (rom.MD5 == "" ? "" : rom.MD5.PadLeft(32, '0'));
}
if (rom.SHA1 != null)
{
rom.SHA1 = (rom.SHA1.StartsWith("0x") ? rom.SHA1.Remove(0, 2) : rom.SHA1); rom.SHA1 = (rom.SHA1.StartsWith("0x") ? rom.SHA1.Remove(0, 2) : rom.SHA1);
rom.SHA1 = (rom.SHA1 == "-" ? "" : rom.SHA1); rom.SHA1 = (rom.SHA1 == "-" ? "" : rom.SHA1);
rom.SHA1 = (rom.SHA1 == "" ? "" : rom.SHA1.PadLeft(40, '0')); rom.SHA1 = (rom.SHA1 == "" ? "" : rom.SHA1.PadLeft(40, '0'));
}
// If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info // If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info
if (rom.Type == "rom" && (rom.Size == 0 || rom.Size == -1) && ((rom.CRC == Constants.CRCZero || rom.CRC == "") || rom.MD5 == Constants.MD5Zero || rom.SHA1 == Constants.SHA1Zero)) if (rom.Type == "rom" && (rom.Size == 0 || rom.Size == -1) && ((rom.CRC == Constants.CRCZero || rom.CRC == "") || rom.MD5 == Constants.MD5Zero || rom.SHA1 == Constants.SHA1Zero))
@@ -554,15 +563,24 @@ namespace SabreTools.Helper
}; };
// Sanitize the hashes from null, hex sizes, and "true blank" strings // Sanitize the hashes from null, hex sizes, and "true blank" strings
if (rom.CRC != null)
{
rom.CRC = (rom.CRC.StartsWith("0x") ? rom.CRC.Remove(0, 2) : rom.CRC); rom.CRC = (rom.CRC.StartsWith("0x") ? rom.CRC.Remove(0, 2) : rom.CRC);
rom.CRC = (rom.CRC == "-" ? "" : rom.CRC); rom.CRC = (rom.CRC == "-" ? "" : rom.CRC);
rom.CRC = (rom.CRC == "" ? "" : rom.CRC.PadLeft(8, '0')); rom.CRC = (rom.CRC == "" ? "" : rom.CRC.PadLeft(8, '0'));
}
if (rom.MD5 != null)
{
rom.MD5 = (rom.MD5.StartsWith("0x") ? rom.MD5.Remove(0, 2) : rom.MD5); rom.MD5 = (rom.MD5.StartsWith("0x") ? rom.MD5.Remove(0, 2) : rom.MD5);
rom.MD5 = (rom.MD5 == "-" ? "" : rom.MD5); rom.MD5 = (rom.MD5 == "-" ? "" : rom.MD5);
rom.MD5 = (rom.MD5 == "" ? "" : rom.MD5.PadLeft(32, '0')); rom.MD5 = (rom.MD5 == "" ? "" : rom.MD5.PadLeft(32, '0'));
}
if (rom.SHA1 != null)
{
rom.SHA1 = (rom.SHA1.StartsWith("0x") ? rom.SHA1.Remove(0, 2) : rom.SHA1); rom.SHA1 = (rom.SHA1.StartsWith("0x") ? rom.SHA1.Remove(0, 2) : rom.SHA1);
rom.SHA1 = (rom.SHA1 == "-" ? "" : rom.SHA1); rom.SHA1 = (rom.SHA1 == "-" ? "" : rom.SHA1);
rom.SHA1 = (rom.SHA1 == "" ? "" : rom.SHA1.PadLeft(40, '0')); rom.SHA1 = (rom.SHA1 == "" ? "" : rom.SHA1.PadLeft(40, '0'));
}
// If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info // If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info
if (rom.Type == "rom" && (rom.Size == 0 || rom.Size == -1) && ((rom.CRC == Constants.CRCZero || rom.CRC == "") || rom.MD5 == Constants.MD5Zero || rom.SHA1 == Constants.SHA1Zero)) if (rom.Type == "rom" && (rom.Size == 0 || rom.Size == -1) && ((rom.CRC == Constants.CRCZero || rom.CRC == "") || rom.MD5 == Constants.MD5Zero || rom.SHA1 == Constants.SHA1Zero))