REFACTOR: Reformat code.

This commit is contained in:
2017-12-19 20:33:03 +00:00
parent 77edc7c91c
commit e6f6ace80b
704 changed files with 82627 additions and 83641 deletions

View File

@@ -34,15 +34,12 @@ namespace DiscImageChef
public static void ArrayFill<T>(T[] destinationArray, T value)
{
// if called with a single value, wrap the value in an array and call the main function
ArrayFill(destinationArray, new T[] { value });
ArrayFill(destinationArray, new T[] {value});
}
public static void ArrayFill<T>(T[] destinationArray, T[] value)
{
if(destinationArray == null)
{
throw new ArgumentNullException(nameof(destinationArray));
}
if(destinationArray == null) { throw new ArgumentNullException(nameof(destinationArray)); }
if(value.Length > destinationArray.Length)
{
@@ -71,11 +68,9 @@ namespace DiscImageChef
public static string ByteArrayToHex(byte[] array, bool upper)
{
StringBuilder sb = new StringBuilder();
for(long i = 0; i < array.LongLength; i++)
sb.AppendFormat("{0:x2}", array[i]);
for(long i = 0; i < array.LongLength; i++) sb.AppendFormat("{0:x2}", array[i]);
return upper ? sb.ToString().ToUpper() : sb.ToString();
}
}
}
}

View File

@@ -36,27 +36,20 @@ namespace DiscImageChef
{
public static bool ArrayIsNullOrWhiteSpace(byte[] array)
{
if(array == null)
return true;
if(array == null) return true;
foreach(byte b in array)
if(b != 0x00 && b != 0x20)
return false;
foreach(byte b in array) if(b != 0x00 && b != 0x20) return false;
return true;
}
public static bool ArrayIsNullOrEmpty(byte[] array)
{
if(array == null)
return true;
if(array == null) return true;
foreach(byte b in array)
if(b != 0x00)
return false;
foreach(byte b in array) if(b != 0x00) return false;
return true;
}
}
}
}

View File

@@ -48,6 +48,7 @@ namespace DiscImageChef
/// architecture.
///</summary>
public static bool IsLittleEndian { get; set; }
// should default to false, which is what we want for Empire
/// <summary>
/// Converts the specified double-precision floating point number to a 64-bit
@@ -362,7 +363,9 @@ namespace DiscImageChef
///</summary>
public static short ToInt16(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToInt16(value, startIndex) : BitConverter.ToInt16(value.Reverse().ToArray(), value.Length - sizeof(short) - startIndex);
return !IsLittleEndian
? BitConverter.ToInt16(value, startIndex)
: BitConverter.ToInt16(value.Reverse().ToArray(), value.Length - sizeof(short) - startIndex);
}
///
@@ -393,7 +396,9 @@ namespace DiscImageChef
///</summary>
public static int ToInt32(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToInt32(value, startIndex) : BitConverter.ToInt32(value.Reverse().ToArray(), value.Length - sizeof(int) - startIndex);
return !IsLittleEndian
? BitConverter.ToInt32(value, startIndex)
: BitConverter.ToInt32(value.Reverse().ToArray(), value.Length - sizeof(int) - startIndex);
}
///
@@ -424,7 +429,9 @@ namespace DiscImageChef
///</summary>
public static long ToInt64(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToInt64(value, startIndex) : BitConverter.ToInt64(value.Reverse().ToArray(), value.Length - sizeof(long) - startIndex);
return !IsLittleEndian
? BitConverter.ToInt64(value, startIndex)
: BitConverter.ToInt64(value.Reverse().ToArray(), value.Length - sizeof(long) - startIndex);
}
///
@@ -456,7 +463,9 @@ namespace DiscImageChef
///</summary>
public static float ToSingle(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToSingle(value, startIndex) : BitConverter.ToSingle(value.Reverse().ToArray(), value.Length - sizeof(float) - startIndex);
return !IsLittleEndian
? BitConverter.ToSingle(value, startIndex)
: BitConverter.ToSingle(value.Reverse().ToArray(), value.Length - sizeof(float) - startIndex);
}
///
@@ -507,7 +516,9 @@ namespace DiscImageChef
///</summary>
public static string ToString(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToString(value, startIndex) : BitConverter.ToString(value.Reverse().ToArray(), startIndex);
return !IsLittleEndian
? BitConverter.ToString(value, startIndex)
: BitConverter.ToString(value.Reverse().ToArray(), startIndex);
}
///
@@ -545,7 +556,9 @@ namespace DiscImageChef
///</summary>
public static string ToString(byte[] value, int startIndex, int length)
{
return !IsLittleEndian ? BitConverter.ToString(value, startIndex, length) : BitConverter.ToString(value.Reverse().ToArray(), startIndex, length);
return !IsLittleEndian
? BitConverter.ToString(value, startIndex, length)
: BitConverter.ToString(value.Reverse().ToArray(), startIndex, length);
}
///
@@ -575,7 +588,9 @@ namespace DiscImageChef
///</summary>
public static ushort ToUInt16(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToUInt16(value, startIndex) : BitConverter.ToUInt16(value.Reverse().ToArray(), value.Length - sizeof(ushort) - startIndex);
return !IsLittleEndian
? BitConverter.ToUInt16(value, startIndex)
: BitConverter.ToUInt16(value.Reverse().ToArray(), value.Length - sizeof(ushort) - startIndex);
}
///
@@ -606,7 +621,9 @@ namespace DiscImageChef
///</summary>
public static uint ToUInt32(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToUInt32(value, startIndex) : BitConverter.ToUInt32(value.Reverse().ToArray(), value.Length - sizeof(uint) - startIndex);
return !IsLittleEndian
? BitConverter.ToUInt32(value, startIndex)
: BitConverter.ToUInt32(value.Reverse().ToArray(), value.Length - sizeof(uint) - startIndex);
}
///
@@ -637,18 +654,17 @@ namespace DiscImageChef
///</summary>
public static ulong ToUInt64(byte[] value, int startIndex)
{
return !IsLittleEndian ? BitConverter.ToUInt64(value, startIndex) : BitConverter.ToUInt64(value.Reverse().ToArray(), value.Length - sizeof(ulong) - startIndex);
return !IsLittleEndian
? BitConverter.ToUInt64(value, startIndex)
: BitConverter.ToUInt64(value.Reverse().ToArray(), value.Length - sizeof(ulong) - startIndex);
}
public static Guid ToGuid(byte[] value, int startIndex)
{
return new Guid(ToUInt32(value, 0 + startIndex),
ToUInt16(value, 4 + startIndex),
ToUInt16(value, 6 + startIndex),
value[8 + startIndex + 0], value[8 + startIndex + 1],
value[8 + startIndex + 2], value[8 + startIndex + 3],
value[8 + startIndex + 5], value[8 + startIndex + 5],
value[8 + startIndex + 6], value[8 + startIndex + 7]);
return new Guid(ToUInt32(value, 0 + startIndex), ToUInt16(value, 4 + startIndex),
ToUInt16(value, 6 + startIndex), value[8 + startIndex + 0], value[8 + startIndex + 1],
value[8 + startIndex + 2], value[8 + startIndex + 3], value[8 + startIndex + 5],
value[8 + startIndex + 5], value[8 + startIndex + 6], value[8 + startIndex + 7]);
}
}
}

View File

@@ -124,8 +124,8 @@ namespace DiscImageChef
fi.SetValueDirect(__makeref(str), BitConverter.ToDouble(dbl_r, 0));
}
}
return str;
}
}
}
}

View File

@@ -36,7 +36,9 @@ namespace DiscImageChef.Helpers
{
public static uint ToLBA(uint cyl, uint head, uint sector, uint maxHead, uint maxSector)
{
return maxHead == 0 || maxSector == 0 ? (cyl * 16 + head) * 63 + sector - 1 : (cyl * maxHead + head) * maxSector + sector - 1;
return maxHead == 0 || maxSector == 0
? (cyl * 16 + head) * 63 + sector - 1
: (cyl * maxHead + head) * maxSector + sector - 1;
}
}
}
}

View File

@@ -34,7 +34,8 @@ namespace DiscImageChef
{
public static partial class ArrayHelpers
{
public static void CompareBytes(out bool different, out bool sameSize, byte[] compareArray1, byte[] compareArray2)
public static void CompareBytes(out bool different, out bool sameSize, byte[] compareArray1,
byte[] compareArray2)
{
different = false;
sameSize = true;
@@ -50,8 +51,7 @@ namespace DiscImageChef
sameSize = false;
leastBytes = compareArray2.LongLength;
}
else
leastBytes = compareArray1.LongLength;
else leastBytes = compareArray1.LongLength;
for(long i = 0; i < leastBytes; i++)
{
@@ -63,4 +63,4 @@ namespace DiscImageChef
}
}
}
}
}

View File

@@ -41,4 +41,4 @@ namespace DiscImageChef.Helpers
return (int)((((number + (number >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24);
}
}
}
}

View File

@@ -99,55 +99,58 @@ namespace DiscImageChef
fourcharvalue[1] = VDDateTime[1];
fourcharvalue[2] = VDDateTime[2];
fourcharvalue[3] = VDDateTime[3];
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "year = \"{0}\"", StringHandlers.CToString(fourcharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(fourcharvalue, Encoding.ASCII), out year))
year = 0;
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "year = \"{0}\"",
StringHandlers.CToString(fourcharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(fourcharvalue, Encoding.ASCII), out year)) year = 0;
// year = Convert.ToInt32(StringHandlers.CToString(fourcharvalue, Encoding.ASCII));
twocharvalue[0] = VDDateTime[4];
twocharvalue[1] = VDDateTime[5];
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "month = \"{0}\"", StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out month))
month = 0;
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "month = \"{0}\"",
StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out month)) month = 0;
// month = Convert.ToInt32(StringHandlers.CToString(twocharvalue, Encoding.ASCII));
twocharvalue[0] = VDDateTime[6];
twocharvalue[1] = VDDateTime[7];
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "day = \"{0}\"", StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out day))
day = 0;
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "day = \"{0}\"",
StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out day)) day = 0;
// day = Convert.ToInt32(StringHandlers.CToString(twocharvalue, Encoding.ASCII));
twocharvalue[0] = VDDateTime[8];
twocharvalue[1] = VDDateTime[9];
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "hour = \"{0}\"", StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out hour))
hour = 0;
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "hour = \"{0}\"",
StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out hour)) hour = 0;
// hour = Convert.ToInt32(StringHandlers.CToString(twocharvalue, Encoding.ASCII));
twocharvalue[0] = VDDateTime[10];
twocharvalue[1] = VDDateTime[11];
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "minute = \"{0}\"", StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out minute))
minute = 0;
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "minute = \"{0}\"",
StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out minute)) minute = 0;
// minute = Convert.ToInt32(StringHandlers.CToString(twocharvalue, Encoding.ASCII));
twocharvalue[0] = VDDateTime[12];
twocharvalue[1] = VDDateTime[13];
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "second = \"{0}\"", StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out second))
second = 0;
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "second = \"{0}\"",
StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out second)) second = 0;
// second = Convert.ToInt32(StringHandlers.CToString(twocharvalue, Encoding.ASCII));
twocharvalue[0] = VDDateTime[14];
twocharvalue[1] = VDDateTime[15];
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "hundredths = \"{0}\"", StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out hundredths))
hundredths = 0;
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "hundredths = \"{0}\"",
StringHandlers.CToString(twocharvalue, Encoding.ASCII));
if(!int.TryParse(StringHandlers.CToString(twocharvalue, Encoding.ASCII), out hundredths)) hundredths = 0;
// hundredths = Convert.ToInt32(StringHandlers.CToString(twocharvalue, Encoding.ASCII));
DicConsole.DebugWriteLine("ISO9600ToDateTime handler", "decodedDT = new DateTime({0}, {1}, {2}, {3}, {4}, {5}, {6}, DateTimeKind.Unspecified);", year, month, day, hour, minute, second, hundredths * 10);
DateTime decodedDT = new DateTime(year, month, day, hour, minute, second, hundredths * 10, DateTimeKind.Unspecified);
DicConsole.DebugWriteLine("ISO9600ToDateTime handler",
"decodedDT = new DateTime({0}, {1}, {2}, {3}, {4}, {5}, {6}, DateTimeKind.Unspecified);",
year, month, day, hour, minute, second, hundredths * 10);
DateTime decodedDT = new DateTime(year, month, day, hour, minute, second, hundredths * 10,
DateTimeKind.Unspecified);
return decodedDT;
}
@@ -172,7 +175,9 @@ namespace DiscImageChef
int day = (dateRecord & 0x01F0) >> 4;
int month = (dateRecord & 0x000F);
DicConsole.DebugWriteLine("UCSDPascalToDateTime handler", "dateRecord = 0x{0:X4}, year = {1}, month = {2}, day = {3}", dateRecord, year, month, day);
DicConsole.DebugWriteLine("UCSDPascalToDateTime handler",
"dateRecord = 0x{0:X4}, year = {1}, month = {2}, day = {3}", dateRecord, year,
month, day);
return new DateTime(year, month, day);
}
@@ -185,18 +190,15 @@ namespace DiscImageChef
int minute = (time & 0x7E0) >> 5;
int second = (time & 0x1F) * 2;
DicConsole.DebugWriteLine("DOSToDateTime handler", "date = 0x{0:X4}, year = {1}, month = {2}, day = {3}", date, year, month, day);
DicConsole.DebugWriteLine("DOSToDateTime handler", "time = 0x{0:X4}, hour = {1}, minute = {2}, second = {3}", time, hour, minute, second);
DicConsole.DebugWriteLine("DOSToDateTime handler", "date = 0x{0:X4}, year = {1}, month = {2}, day = {3}",
date, year, month, day);
DicConsole.DebugWriteLine("DOSToDateTime handler",
"time = 0x{0:X4}, hour = {1}, minute = {2}, second = {3}", time, hour, minute,
second);
DateTime dosdate;
try
{
dosdate = new DateTime(year, month, day, hour, minute, second);
}
catch(ArgumentOutOfRangeException)
{
dosdate = new DateTime(1980, 1, 1, 0, 0, 0);
}
try { dosdate = new DateTime(year, month, day, hour, minute, second); }
catch(ArgumentOutOfRangeException) { dosdate = new DateTime(1980, 1, 1, 0, 0, 0); }
return dosdate;
}
@@ -219,7 +221,9 @@ namespace DiscImageChef
return AppleDoubleEpoch.AddSeconds(AppleDoubleTimeStamp);
}
public static DateTime ECMAToDateTime(ushort typeAndTimeZone, short year, byte month, byte day, byte hour, byte minute, byte second, byte centiseconds, byte hundredsOfMicroseconds, byte microseconds)
public static DateTime ECMAToDateTime(ushort typeAndTimeZone, short year, byte month, byte day, byte hour,
byte minute, byte second, byte centiseconds, byte hundredsOfMicroseconds,
byte microseconds)
{
byte specification = (byte)((typeAndTimeZone & 0xF000) >> 12);
long ticks = (long)centiseconds * 100000 + (long)hundredsOfMicroseconds * 1000 + (long)microseconds * 10;
@@ -229,20 +233,16 @@ namespace DiscImageChef
ushort preOffset = (ushort)(typeAndTimeZone & 0xFFF);
short offset;
if((preOffset & 0x800) == 0x800)
{
offset = (short)(preOffset | 0xF000);
}
else
offset = (short)(preOffset & 0x7FF);
if((preOffset & 0x800) == 0x800) { offset = (short)(preOffset | 0xF000); }
else offset = (short)(preOffset & 0x7FF);
if(offset == -2047)
return new DateTime(year, month, day, hour, minute, second, DateTimeKind.Unspecified).AddTicks(ticks);
if(offset < -1440 || offset > 1440)
offset = 0;
if(offset < -1440 || offset > 1440) offset = 0;
return new DateTimeOffset(year, month, day, hour, minute, second, new TimeSpan(0, offset, 0)).AddTicks(ticks).DateTime;
return new DateTimeOffset(year, month, day, hour, minute, second, new TimeSpan(0, offset, 0))
.AddTicks(ticks).DateTime;
}
public static DateTime UNIXHrTimeToDateTime(ulong HRTimeStamp)
@@ -252,27 +252,24 @@ namespace DiscImageChef
public static DateTime OS9ToDateTime(byte[] date)
{
if(date == null || (date.Length != 3 && date.Length != 5))
return DateTime.MinValue;
if(date == null || (date.Length != 3 && date.Length != 5)) return DateTime.MinValue;
DateTime os9date;
try
{
os9date = date.Length == 5 ? new DateTime(1900 + date[0], date[1], date[2], date[3], date[4], 0) : new DateTime(1900 + date[0], date[1], date[2], 0, 0, 0);
}
catch(ArgumentOutOfRangeException)
{
os9date = new DateTime(1900, 0, 0, 0, 0, 0);
os9date = date.Length == 5
? new DateTime(1900 + date[0], date[1], date[2], date[3], date[4], 0)
: new DateTime(1900 + date[0], date[1], date[2], 0, 0, 0);
}
catch(ArgumentOutOfRangeException) { os9date = new DateTime(1900, 0, 0, 0, 0, 0); }
return os9date;
}
public static DateTime LifToDateTime(byte[] date)
{
if(date == null || date.Length != 6)
return new DateTime(1970, 1, 1, 0, 0, 0);
if(date == null || date.Length != 6) return new DateTime(1970, 1, 1, 0, 0, 0);
return LifToDateTime(date[0], date[1], date[2], date[3], date[4], date[5]);
}
@@ -288,18 +285,12 @@ namespace DiscImageChef
int ihour = (hour >> 4) * 10 + (hour & 0xF);
int isecond = (second >> 4) * 10 + (second & 0xF);
if(iyear >= 70)
iyear += 1900;
else
iyear += 2000;
if(iyear >= 70) iyear += 1900;
else iyear += 2000;
return new DateTime(iyear, imonth, iday, ihour, iminute, isecond);
}
catch(ArgumentOutOfRangeException)
{
return new DateTime(1970, 1, 1, 0, 0, 0);
}
catch(ArgumentOutOfRangeException) { return new DateTime(1970, 1, 1, 0, 0, 0); }
}
}
}
}

View File

@@ -41,86 +41,76 @@ namespace DiscImageChef
{
readonly byte[] buffer = new byte[8];
public EndianAwareBinaryReader(Stream input, Encoding encoding, bool isLittleEndian)
: base(input, encoding)
public EndianAwareBinaryReader(Stream input, Encoding encoding, bool isLittleEndian) : base(input, encoding)
{
IsLittleEndian = isLittleEndian;
}
public EndianAwareBinaryReader(Stream input, bool isLittleEndian)
: this(input, Encoding.UTF8, isLittleEndian)
{
}
public EndianAwareBinaryReader(Stream input, bool isLittleEndian) :
this(input, Encoding.UTF8, isLittleEndian) { }
public bool IsLittleEndian
{
get;
set;
}
public bool IsLittleEndian { get; set; }
public override double ReadDouble()
{
if(IsLittleEndian)
return base.ReadDouble();
if(IsLittleEndian) return base.ReadDouble();
FillMyBuffer(8);
return BitConverter.ToDouble(buffer.Take(8).Reverse().ToArray(), 0);
}
public override short ReadInt16()
{
if(IsLittleEndian)
return base.ReadInt16();
if(IsLittleEndian) return base.ReadInt16();
FillMyBuffer(2);
return BitConverter.ToInt16(buffer.Take(2).Reverse().ToArray(), 0);
}
public override int ReadInt32()
{
if(IsLittleEndian)
return base.ReadInt32();
if(IsLittleEndian) return base.ReadInt32();
FillMyBuffer(4);
return BitConverter.ToInt32(buffer.Take(4).Reverse().ToArray(), 0);
}
public override long ReadInt64()
{
if(IsLittleEndian)
return base.ReadInt64();
if(IsLittleEndian) return base.ReadInt64();
FillMyBuffer(8);
return BitConverter.ToInt64(buffer.Take(8).Reverse().ToArray(), 0);
}
public override float ReadSingle()
{
if(IsLittleEndian)
return base.ReadSingle();
if(IsLittleEndian) return base.ReadSingle();
FillMyBuffer(4);
return BitConverter.ToSingle(buffer.Take(4).Reverse().ToArray(), 0);
}
public override ushort ReadUInt16()
{
if(IsLittleEndian)
return base.ReadUInt16();
if(IsLittleEndian) return base.ReadUInt16();
FillMyBuffer(2);
return BitConverter.ToUInt16(buffer.Take(2).Reverse().ToArray(), 0);
}
public override uint ReadUInt32()
{
if(IsLittleEndian)
return base.ReadUInt32();
if(IsLittleEndian) return base.ReadUInt32();
FillMyBuffer(4);
return BitConverter.ToUInt32(buffer.Take(4).Reverse().ToArray(), 0);
}
public override ulong ReadUInt64()
{
if(IsLittleEndian)
return base.ReadUInt64();
if(IsLittleEndian) return base.ReadUInt64();
FillMyBuffer(8);
return BitConverter.ToUInt64(buffer.Take(8).Reverse().ToArray(), 0);
}
@@ -132,10 +122,8 @@ namespace DiscImageChef
if(numBytes == 1)
{
num2 = BaseStream.ReadByte();
if(num2 == -1)
{
throw new EndOfStreamException("Attempted to read past the end of the stream.");
}
if(num2 == -1) { throw new EndOfStreamException("Attempted to read past the end of the stream."); }
buffer[0] = (byte)num2;
}
else
@@ -143,10 +131,8 @@ namespace DiscImageChef
do
{
num2 = BaseStream.Read(buffer, offset, numBytes - offset);
if(num2 == 0)
{
throw new EndOfStreamException("Attempted to read past the end of the stream.");
}
if(num2 == 0) { throw new EndOfStreamException("Attempted to read past the end of the stream."); }
offset += num2;
}
while(offset < numBytes);

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(byte item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<byte, byte>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<byte, byte>(item, backend[i].Item2);
else itemToAdd = new Tuple<byte, byte>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<byte, byte>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<byte, byte>(backend[i].Item1, item);
else itemToAdd = new Tuple<byte, byte>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<byte, byte>(item, item));
else backend.Add(new Tuple<byte, byte>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,17 @@ namespace Extents
public void Add(byte start, byte end, bool run)
{
byte realEnd;
if(run)
realEnd = (byte)(start + end - 1);
else
realEnd = end;
if(run) realEnd = (byte)(start + end - 1);
else realEnd = end;
// TODO: Optimize this
for(byte t = start; t <= realEnd; t++)
Add(t);
for(byte t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(byte item)
{
foreach(Tuple<byte, byte> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
foreach(Tuple<byte, byte> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +178,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +206,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(int item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<int, int>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<int, int>(item, backend[i].Item2);
else itemToAdd = new Tuple<int, int>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<int, int>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<int, int>(backend[i].Item1, item);
else itemToAdd = new Tuple<int, int>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<int, int>(item, item));
else backend.Add(new Tuple<int, int>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,17 @@ namespace Extents
public void Add(int start, int end, bool run)
{
int realEnd;
if(run)
realEnd = start + end - 1;
else
realEnd = end;
if(run) realEnd = start + end - 1;
else realEnd = end;
// TODO: Optimize this
for(int t = start; t <= realEnd; t++)
Add(t);
for(int t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(int item)
{
foreach(Tuple<int, int> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
foreach(Tuple<int, int> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +178,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +206,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(long item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<long, long>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<long, long>(item, backend[i].Item2);
else itemToAdd = new Tuple<long, long>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<long, long>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<long, long>(backend[i].Item1, item);
else itemToAdd = new Tuple<long, long>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<long, long>(item, item));
else backend.Add(new Tuple<long, long>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,17 @@ namespace Extents
public void Add(long start, long end, bool run)
{
long realEnd;
if(run)
realEnd = start + end - 1;
else
realEnd = end;
if(run) realEnd = start + end - 1;
else realEnd = end;
// TODO: Optimize this
for(long t = start; t <= realEnd; t++)
Add(t);
for(long t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(long item)
{
foreach(Tuple<long, long> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
foreach(Tuple<long, long> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +178,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +206,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(sbyte item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<sbyte, sbyte>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<sbyte, sbyte>(item, backend[i].Item2);
else itemToAdd = new Tuple<sbyte, sbyte>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<sbyte, sbyte>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<sbyte, sbyte>(backend[i].Item1, item);
else itemToAdd = new Tuple<sbyte, sbyte>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<sbyte, sbyte>(item, item));
else backend.Add(new Tuple<sbyte, sbyte>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,17 @@ namespace Extents
public void Add(sbyte start, sbyte end, bool run)
{
sbyte realEnd;
if(run)
realEnd = (sbyte)(start + end - 1);
else
realEnd = end;
if(run) realEnd = (sbyte)(start + end - 1);
else realEnd = end;
// TODO: Optimize this
for(sbyte t = start; t <= realEnd; t++)
Add(t);
for(sbyte t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(sbyte item)
{
foreach(Tuple<sbyte, sbyte> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
foreach(Tuple<sbyte, sbyte> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +178,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +206,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(short item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<short, short>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<short, short>(item, backend[i].Item2);
else itemToAdd = new Tuple<short, short>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<short, short>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<short, short>(backend[i].Item1, item);
else itemToAdd = new Tuple<short, short>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<short, short>(item, item));
else backend.Add(new Tuple<short, short>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,17 @@ namespace Extents
public void Add(short start, short end, bool run)
{
short realEnd;
if(run)
realEnd = (short)(start + end - 1);
else
realEnd = end;
if(run) realEnd = (short)(start + end - 1);
else realEnd = end;
// TODO: Optimize this
for(short t = start; t <= realEnd; t++)
Add(t);
for(short t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(short item)
{
foreach(Tuple<short, short> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
foreach(Tuple<short, short> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +178,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +206,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(uint item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<uint, uint>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<uint, uint>(item, backend[i].Item2);
else itemToAdd = new Tuple<uint, uint>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<uint, uint>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<uint, uint>(backend[i].Item1, item);
else itemToAdd = new Tuple<uint, uint>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<uint, uint>(item, item));
else backend.Add(new Tuple<uint, uint>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,17 @@ namespace Extents
public void Add(uint start, uint end, bool run)
{
uint realEnd;
if(run)
realEnd = start + end - 1;
else
realEnd = end;
if(run) realEnd = start + end - 1;
else realEnd = end;
// TODO: Optimize this
for(uint t = start; t <= realEnd; t++)
Add(t);
for(uint t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(uint item)
{
foreach(Tuple<uint, uint> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
foreach(Tuple<uint, uint> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +178,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +206,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(ulong item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<ulong, ulong>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<ulong, ulong>(item, backend[i].Item2);
else itemToAdd = new Tuple<ulong, ulong>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<ulong, ulong>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<ulong, ulong>(backend[i].Item1, item);
else itemToAdd = new Tuple<ulong, ulong>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<ulong, ulong>(item, item));
else backend.Add(new Tuple<ulong, ulong>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,17 @@ namespace Extents
public void Add(ulong start, ulong end, bool run)
{
ulong realEnd;
if(run)
realEnd = start + end - 1;
else
realEnd = end;
if(run) realEnd = start + end - 1;
else realEnd = end;
// TODO: Optimize this
for(ulong t = start; t <= realEnd; t++)
Add(t);
for(ulong t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(ulong item)
{
foreach(Tuple<ulong, ulong> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
foreach(Tuple<ulong, ulong> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +178,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +206,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -50,7 +50,10 @@ namespace Extents
backend = list.OrderBy(t => t.Item1).ToList();
}
public int Count { get { return backend.Count; } }
public int Count
{
get { return backend.Count; }
}
public void Add(ushort item)
{
@@ -61,8 +64,7 @@ namespace Extents
for(int i = 0; i < backend.Count; i++)
{
// Already contained in an extent
if(item >= backend[i].Item1 && item <= backend[i].Item2)
return;
if(item >= backend[i].Item1 && item <= backend[i].Item2) return;
// Expands existing extent start
if(item == backend[i].Item1 - 1)
@@ -74,8 +76,7 @@ namespace Extents
removeTwo = backend[i - 1];
itemToAdd = new Tuple<ushort, ushort>(backend[i - 1].Item1, backend[i].Item2);
}
else
itemToAdd = new Tuple<ushort, ushort>(item, backend[i].Item2);
else itemToAdd = new Tuple<ushort, ushort>(item, backend[i].Item2);
break;
}
@@ -90,8 +91,7 @@ namespace Extents
removeTwo = backend[i + 1];
itemToAdd = new Tuple<ushort, ushort>(backend[i].Item1, backend[i + 1].Item2);
}
else
itemToAdd = new Tuple<ushort, ushort>(backend[i].Item1, item);
else itemToAdd = new Tuple<ushort, ushort>(backend[i].Item1, item);
break;
}
@@ -103,8 +103,7 @@ namespace Extents
backend.Remove(removeTwo);
backend.Add(itemToAdd);
}
else
backend.Add(new Tuple<ushort, ushort>(item, item));
else backend.Add(new Tuple<ushort, ushort>(item, item));
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -118,21 +117,18 @@ namespace Extents
public void Add(ushort start, ushort end, bool run)
{
ushort realEnd;
if(run)
realEnd = (ushort)(start + end - 1);
else
realEnd = end;
if(run) realEnd = (ushort)(start + end - 1);
else realEnd = end;
// TODO: Optimize this
for(ushort t = start; t <= realEnd; t++)
Add(t);
for(ushort t = start; t <= realEnd; t++) Add(t);
}
public bool Contains(ushort item)
{
foreach(Tuple<ushort, ushort> extent in backend)
if(item >= extent.Item1 && item <= extent.Item2)
return true;
if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
}
@@ -183,14 +179,11 @@ namespace Extents
}
// Item not found
if(toRemove == null)
return false;
if(toRemove == null) return false;
backend.Remove(toRemove);
if(toAddOne != null)
backend.Add(toAddOne);
if(toAddTwo != null)
backend.Add(toAddTwo);
if(toAddOne != null) backend.Add(toAddOne);
if(toAddTwo != null) backend.Add(toAddTwo);
// Sort
backend = backend.OrderBy(t => t.Item1).ToList();
@@ -214,7 +207,8 @@ namespace Extents
return true;
}
}
return false;
}
}
}
}

View File

@@ -75,14 +75,13 @@ namespace DiscImageChef
counter = 0;
subcounter = 0;
}
else
counter++;
else counter++;
}
sb.AppendLine();
sb.AppendLine();
return sb.ToString();
}
}
}
}

View File

@@ -54,5 +54,4 @@ using System.Reflection;
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]
//[assembly: AssemblyKeyFile("")]

View File

@@ -55,8 +55,7 @@ namespace DiscImageChef
/// <param name="encoding">Encoding.</param>
public static string CToString(byte[] CString, Encoding encoding, bool twoBytes = false, int start = 0)
{
if(CString == null)
return null;
if(CString == null) return null;
int len = 0;
@@ -71,11 +70,10 @@ namespace DiscImageChef
len++;
break;
}
// if((i + 1) == CString.Length)
// break;
// if((i + 1) == CString.Length)
// break;
}
else
break;
else break;
}
len++;
@@ -105,17 +103,15 @@ namespace DiscImageChef
/// <param name="encoding">Encoding.</param>
public static string PascalToString(byte[] PascalString, Encoding encoding, int start = 0)
{
if(PascalString == null)
return null;
if(PascalString == null) return null;
byte length = PascalString[start];
int len = 0;
for(int i = start + 1; i < length + 1 && i < PascalString.Length; i++)
{
if(PascalString[i] == 0)
break;
if(PascalString[i] == 0) break;
len++;
}
@@ -143,15 +139,13 @@ namespace DiscImageChef
/// <param name="encoding">Encoding.</param>
public static string SpacePaddedToString(byte[] SpacePaddedString, Encoding encoding, int start = 0)
{
if(SpacePaddedString == null)
return null;
if(SpacePaddedString == null) return null;
int len = start;
for(int i = SpacePaddedString.Length; i >= start; i--)
{
if(i == start)
return "";
if(i == start) return "";
if(SpacePaddedString[i - 1] != 0x20)
{
@@ -174,21 +168,16 @@ namespace DiscImageChef
byte compId = dstring[0];
string temp = "";
if(compId != 8 && compId != 16)
return null;
if(compId != 8 && compId != 16) return null;
for(int byteIndex = 1; byteIndex < dstring.Length;)
{
if(compId == 16)
unicode = (ushort)(dstring[byteIndex++] << 8);
else
unicode = 0;
if(compId == 16) unicode = (ushort)(dstring[byteIndex++] << 8);
else unicode = 0;
if(byteIndex < dstring.Length)
unicode |= dstring[byteIndex++];
if(byteIndex < dstring.Length) unicode |= dstring[byteIndex++];
if(unicode == 0)
break;
if(unicode == 0) break;
temp += Encoding.Unicode.GetString(System.BitConverter.GetBytes(unicode));
}
@@ -196,5 +185,4 @@ namespace DiscImageChef
return temp;
}
}
}
}

View File

@@ -138,4 +138,4 @@ namespace DiscImageChef
return (x << 16) | ((x >> 16) & 0xFFFF);
}
}
}
}