switch to using

This commit is contained in:
Luke Pulverenti 2016-10-27 17:38:10 -04:00
parent 3dced368c2
commit b5b3d8a30c

View File

@ -8,29 +8,31 @@ namespace OpenSubtitlesHandler
{ {
public static byte[] ComputeMovieHash(Stream input) public static byte[] ComputeMovieHash(Stream input)
{ {
long lhash, streamsize; using (input)
streamsize = input.Length;
lhash = streamsize;
long i = 0;
byte[] buffer = new byte[sizeof(long)];
while (i < 65536 / sizeof(long) && (input.Read(buffer, 0, sizeof(long)) > 0))
{ {
i++; long lhash, streamsize;
lhash += BitConverter.ToInt64(buffer, 0); streamsize = input.Length;
} lhash = streamsize;
input.Position = Math.Max(0, streamsize - 65536); long i = 0;
i = 0; byte[] buffer = new byte[sizeof(long)];
while (i < 65536 / sizeof(long) && (input.Read(buffer, 0, sizeof(long)) > 0)) while (i < 65536 / sizeof(long) && (input.Read(buffer, 0, sizeof(long)) > 0))
{ {
i++; i++;
lhash += BitConverter.ToInt64(buffer, 0); lhash += BitConverter.ToInt64(buffer, 0);
}
input.Position = Math.Max(0, streamsize - 65536);
i = 0;
while (i < 65536 / sizeof(long) && (input.Read(buffer, 0, sizeof(long)) > 0))
{
i++;
lhash += BitConverter.ToInt64(buffer, 0);
}
byte[] result = BitConverter.GetBytes(lhash);
Array.Reverse(result);
return result;
} }
input.Close();
byte[] result = BitConverter.GetBytes(lhash);
Array.Reverse(result);
return result;
} }
public static string ToHexadecimal(byte[] bytes) public static string ToHexadecimal(byte[] bytes)