mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Allocate SENSE buffer only once.
This commit is contained in:
@@ -141,12 +141,11 @@ static class ArchiveCorp
|
||||
start:
|
||||
Console.Clear();
|
||||
|
||||
bool sense =
|
||||
dev.ArchiveCorpRequestBlockAddress(out byte[] buffer,
|
||||
out byte[] senseBuffer,
|
||||
lba,
|
||||
dev.Timeout,
|
||||
out double duration);
|
||||
bool sense = dev.ArchiveCorpRequestBlockAddress(out byte[] buffer,
|
||||
out ReadOnlySpan<byte> senseBuffer,
|
||||
lba,
|
||||
dev.Timeout,
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruLogging.WriteLine(Localization.Device_0, devPath);
|
||||
@@ -156,11 +155,9 @@ static class ArchiveCorp
|
||||
AaruLogging.WriteLine(Localization.Buffer_is_0_bytes, buffer?.Length.ToString() ?? Localization._null);
|
||||
AaruLogging.WriteLine(Localization.Buffer_is_null_or_empty_0_Q, ArrayHelpers.ArrayIsNullOrEmpty(buffer));
|
||||
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_0_bytes, senseBuffer.Length.ToString());
|
||||
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_null_or_empty_0, senseBuffer.IsEmpty);
|
||||
|
||||
AaruLogging.WriteLine();
|
||||
AaruLogging.WriteLine(Localization.Choose_what_to_do);
|
||||
@@ -208,7 +205,7 @@ static class ArchiveCorp
|
||||
AaruLogging.WriteLine(Localization.Device_0, devPath);
|
||||
AaruLogging.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_REQUEST_BLOCK_ADDRESS_sense);
|
||||
|
||||
if(senseBuffer != null) PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
if(senseBuffer != null) PrintHex.PrintHexArray(senseBuffer.ToArray(), 64);
|
||||
|
||||
AaruLogging.WriteLine(Localization.Press_any_key_to_continue);
|
||||
Console.ReadKey();
|
||||
@@ -220,7 +217,7 @@ static class ArchiveCorp
|
||||
Console.Clear();
|
||||
AaruLogging.WriteLine(Localization.Device_0, devPath);
|
||||
AaruLogging.WriteLine(Localization.ArchiveCorp_RequestBlockAddress_REQUEST_BLOCK_ADDRESS_decoded_sense);
|
||||
AaruLogging.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruLogging.Write("{0}", Sense.PrettifySense(senseBuffer.ToArray()));
|
||||
AaruLogging.WriteLine(Localization.Press_any_key_to_continue);
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
@@ -311,7 +308,11 @@ static class ArchiveCorp
|
||||
start:
|
||||
Console.Clear();
|
||||
|
||||
bool sense = dev.ArchiveCorpSeekBlock(out byte[] senseBuffer, immediate, lba, dev.Timeout, out double duration);
|
||||
bool sense = dev.ArchiveCorpSeekBlock(out ReadOnlySpan<byte> senseBuffer,
|
||||
immediate,
|
||||
lba,
|
||||
dev.Timeout,
|
||||
out double duration);
|
||||
|
||||
menu:
|
||||
AaruLogging.WriteLine(Localization.Device_0, devPath);
|
||||
@@ -319,14 +320,12 @@ static class ArchiveCorp
|
||||
AaruLogging.WriteLine(Localization.Command_took_0_ms, duration);
|
||||
AaruLogging.WriteLine(Localization.Sense_is_0, sense);
|
||||
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_0_bytes,
|
||||
senseBuffer?.Length.ToString() ?? Localization._null);
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_0_bytes, senseBuffer.Length.ToString());
|
||||
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_null_or_empty_0,
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(senseBuffer));
|
||||
AaruLogging.WriteLine(Localization.Sense_buffer_is_null_or_empty_0, senseBuffer.IsEmpty);
|
||||
|
||||
AaruLogging.WriteLine(Localization.SEEK_BLOCK_decoded_sense);
|
||||
AaruLogging.Write("{0}", Sense.PrettifySense(senseBuffer));
|
||||
AaruLogging.Write("{0}", Sense.PrettifySense(senseBuffer.ToArray()));
|
||||
AaruLogging.WriteLine();
|
||||
AaruLogging.WriteLine(Localization.Choose_what_to_do);
|
||||
AaruLogging.WriteLine(Localization._1_Print_sense_buffer);
|
||||
@@ -358,7 +357,7 @@ static class ArchiveCorp
|
||||
AaruLogging.WriteLine(Localization.Device_0, devPath);
|
||||
AaruLogging.WriteLine(Localization.SEEK_BLOCK_sense);
|
||||
|
||||
if(senseBuffer != null) PrintHex.PrintHexArray(senseBuffer, 64);
|
||||
if(senseBuffer != null) PrintHex.PrintHexArray(senseBuffer.ToArray(), 64);
|
||||
|
||||
AaruLogging.WriteLine(Localization.Press_any_key_to_continue);
|
||||
Console.ReadKey();
|
||||
|
||||
Reference in New Issue
Block a user