General cleanup and refactor.

This commit is contained in:
2022-03-07 07:36:44 +00:00
parent bc6e432565
commit 762e3eb6d2
1321 changed files with 44657 additions and 45479 deletions

View File

@@ -30,6 +30,8 @@
// Copyright © 2011-2022 Natalia Portillo
// ****************************************************************************/
namespace Aaru.DiscImages;
using System;
using System.Collections.Generic;
using System.IO;
@@ -42,8 +44,6 @@ using Aaru.Helpers;
using Schemas;
using Marshal = Aaru.Helpers.Marshal;
namespace Aaru.DiscImages;
public sealed partial class Qcow
{
/// <inheritdoc />
@@ -109,10 +109,10 @@ public sealed partial class Qcow
_l1Table = new ulong[_l1Size];
_l1Mask = 0;
int c = 0;
var c = 0;
_l1Shift = _qHdr.l2_bits + _qHdr.cluster_bits;
for(int i = 0; i < 64; i++)
for(var i = 0; i < 64; i++)
{
_l1Mask <<= 1;
@@ -125,17 +125,17 @@ public sealed partial class Qcow
_l2Mask = 0;
for(int i = 0; i < _qHdr.l2_bits; i++)
for(var i = 0; i < _qHdr.l2_bits; i++)
_l2Mask = (_l2Mask << 1) + 1;
_l2Mask <<= _qHdr.cluster_bits;
_sectorMask = 0;
for(int i = 0; i < _qHdr.cluster_bits; i++)
for(var i = 0; i < _qHdr.cluster_bits; i++)
_sectorMask = (_sectorMask << 1) + 1;
byte[] empty = new byte[_qHdr.l1_table_offset + (_l1Size * 8)];
var empty = new byte[_qHdr.l1_table_offset + _l1Size * 8];
_writingStream.Write(empty, 0, empty.Length);
IsWriting = true;
@@ -195,7 +195,7 @@ public sealed partial class Qcow
{
_writingStream.Seek(0, SeekOrigin.End);
_l1Table[l1Off] = (ulong)((_writingStream.Length + _clusterSize - 1) / _clusterSize * _clusterSize);
byte[] l2TableB = new byte[_l2Size * 8];
var l2TableB = new byte[_l2Size * 8];
_writingStream.Position = (long)_l1Table[l1Off];
_writingStream.Write(l2TableB, 0, l2TableB.Length);
}
@@ -204,18 +204,18 @@ public sealed partial class Qcow
ulong l2Off = (byteAddress & _l2Mask) >> _qHdr.cluster_bits;
_writingStream.Seek((long)(_l1Table[l1Off] + (l2Off * 8)), SeekOrigin.Begin);
_writingStream.Seek((long)(_l1Table[l1Off] + l2Off * 8), SeekOrigin.Begin);
byte[] entry = new byte[8];
var entry = new byte[8];
_writingStream.Read(entry, 0, 8);
ulong offset = BigEndianBitConverter.ToUInt64(entry, 0);
var offset = BigEndianBitConverter.ToUInt64(entry, 0);
if(offset == 0)
{
offset = (ulong)_writingStream.Length;
byte[] cluster = new byte[_clusterSize];
var cluster = new byte[_clusterSize];
entry = BigEndianBitConverter.GetBytes(offset);
_writingStream.Seek((long)(_l1Table[l1Off] + (l2Off * 8)), SeekOrigin.Begin);
_writingStream.Seek((long)(_l1Table[l1Off] + l2Off * 8), SeekOrigin.Begin);
_writingStream.Write(entry, 0, 8);
_writingStream.Seek(0, SeekOrigin.End);
_writingStream.Write(cluster, 0, cluster.Length);
@@ -260,7 +260,7 @@ public sealed partial class Qcow
for(uint i = 0; i < length; i++)
{
byte[] tmp = new byte[_imageInfo.SectorSize];
var tmp = new byte[_imageInfo.SectorSize];
Array.Copy(data, i * _imageInfo.SectorSize, tmp, 0, _imageInfo.SectorSize);
if(!WriteSector(tmp, sectorAddress + i))