mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Enable nullability everywhere
This commit is contained in:
@@ -13,9 +13,9 @@ namespace Compress.ZipFile
|
||||
{
|
||||
private readonly List<ZipLocalFile> _localFiles = new();
|
||||
|
||||
private FileInfo _zipFileInfo;
|
||||
private FileInfo? _zipFileInfo;
|
||||
|
||||
private Stream _zipFs;
|
||||
private Stream? _zipFs;
|
||||
|
||||
private uint _localFilesCount;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Compress.ZipFile
|
||||
{
|
||||
}
|
||||
|
||||
internal ZipLocalFile(string filename, TimeStamps dateTime = null)
|
||||
internal ZipLocalFile(string filename, TimeStamps? dateTime = null)
|
||||
{
|
||||
SetStatus(LocalFileStatus.Zip64, false);
|
||||
GeneralPurposeBitFlag = 2; // Maximum Compression Deflating
|
||||
@@ -231,8 +231,11 @@ namespace Compress.ZipFile
|
||||
bw.Write(_extraField, 0, extraFieldLength);
|
||||
// No File Comment
|
||||
}
|
||||
internal ZipReturn LocalFileHeaderRead(Stream zipFs)
|
||||
internal ZipReturn LocalFileHeaderRead(Stream? zipFs)
|
||||
{
|
||||
if (zipFs == null)
|
||||
return ZipReturn.ZipErrorFileNotFound;
|
||||
|
||||
try
|
||||
{
|
||||
using (BinaryReader br = new(zipFs, Encoding.UTF8, true))
|
||||
@@ -358,8 +361,11 @@ namespace Compress.ZipFile
|
||||
}
|
||||
}
|
||||
|
||||
internal ZipReturn LocalFileHeaderReadQuick(Stream zipFs)
|
||||
internal ZipReturn LocalFileHeaderReadQuick(Stream? zipFs)
|
||||
{
|
||||
if (zipFs == null)
|
||||
return ZipReturn.ZipErrorOpeningFile;
|
||||
|
||||
try
|
||||
{
|
||||
using BinaryReader br = new(zipFs, Encoding.UTF8, true);
|
||||
@@ -568,12 +574,16 @@ namespace Compress.ZipFile
|
||||
|
||||
bw.Write(_extraField);
|
||||
}
|
||||
internal ZipReturn LocalFileOpenReadStream(Stream zipFs, bool raw, out Stream readStream, out ulong streamSize, out ushort compressionMethod)
|
||||
internal ZipReturn LocalFileOpenReadStream(Stream? zipFs, bool raw, out Stream? readStream, out ulong streamSize, out ushort compressionMethod)
|
||||
{
|
||||
streamSize = 0;
|
||||
compressionMethod = _compressionMethod;
|
||||
|
||||
readStream = null;
|
||||
|
||||
if (zipFs == null)
|
||||
return ZipReturn.ZipErrorFileNotFound;
|
||||
|
||||
zipFs.Seek((long)_dataLocation, SeekOrigin.Begin);
|
||||
|
||||
switch (_compressionMethod)
|
||||
@@ -644,7 +654,7 @@ namespace Compress.ZipFile
|
||||
return readStream == null ? ZipReturn.ZipErrorGettingDataStream : ZipReturn.ZipGood;
|
||||
}
|
||||
|
||||
internal ZipReturn LocalFileOpenWriteStream(Stream zipFs, bool raw, ulong uncompressedSize, ushort compressionMethod, out Stream writeStream)
|
||||
internal ZipReturn LocalFileOpenWriteStream(Stream? zipFs, bool raw, ulong uncompressedSize, ushort compressionMethod, out Stream? writeStream)
|
||||
{
|
||||
UncompressedSize = uncompressedSize;
|
||||
_compressedSize = 0;
|
||||
@@ -678,10 +688,10 @@ namespace Compress.ZipFile
|
||||
return writeStream == null ? ZipReturn.ZipErrorGettingDataStream : ZipReturn.ZipGood;
|
||||
}
|
||||
|
||||
internal ZipReturn LocalFileCloseWriteStream(Stream zipFs, byte[] crc32)
|
||||
internal ZipReturn LocalFileCloseWriteStream(Stream? zipFs, byte[] crc32)
|
||||
{
|
||||
|
||||
_compressedSize = (ulong)zipFs.Position - _dataLocation;
|
||||
_compressedSize = (ulong)zipFs!.Position - _dataLocation;
|
||||
|
||||
if (_compressedSize == 0 && UncompressedSize == 0)
|
||||
{
|
||||
@@ -734,8 +744,11 @@ namespace Compress.ZipFile
|
||||
}
|
||||
}
|
||||
|
||||
internal static void LocalFileAddZeroLengthFile(Stream zipFs)
|
||||
internal static void LocalFileAddZeroLengthFile(Stream? zipFs)
|
||||
{
|
||||
if (zipFs == null)
|
||||
return;
|
||||
|
||||
zipFs.WriteByte(03);
|
||||
zipFs.WriteByte(00);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Compress.ZipFile
|
||||
}
|
||||
|
||||
|
||||
public ZipReturn ZipFileOpen(Stream inStream)
|
||||
public ZipReturn ZipFileOpen(Stream? inStream)
|
||||
{
|
||||
ZipFileClose();
|
||||
ZipStatus = ZipStatus.None;
|
||||
|
||||
@@ -4,12 +4,12 @@ namespace Compress.ZipFile
|
||||
{
|
||||
public partial class Zip
|
||||
{
|
||||
public ZipReturn ZipFileOpenReadStream(int index, out Stream stream, out ulong streamSize)
|
||||
public ZipReturn ZipFileOpenReadStream(int index, out Stream? stream, out ulong streamSize)
|
||||
{
|
||||
return ZipFileOpenReadStream(index, false, out stream, out streamSize, out ushort _);
|
||||
}
|
||||
|
||||
public ZipReturn ZipFileOpenReadStream(int index, bool raw, out Stream stream, out ulong streamSize, out ushort compressionMethod)
|
||||
public ZipReturn ZipFileOpenReadStream(int index, bool raw, out Stream? stream, out ulong streamSize, out ushort compressionMethod)
|
||||
{
|
||||
ZipFileCloseReadStream();
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Compress.ZipFile
|
||||
return zRet;
|
||||
}
|
||||
|
||||
public ZipReturn ZipFileOpenReadStreamQuick(ulong pos, bool raw, out Stream stream, out ulong streamSize, out ushort compressionMethod)
|
||||
public ZipReturn ZipFileOpenReadStreamQuick(ulong pos, bool raw, out Stream? stream, out ulong streamSize, out ushort compressionMethod)
|
||||
{
|
||||
ZipFileCloseReadStream();
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ namespace Compress.ZipFile
|
||||
{
|
||||
bool lTrrntzip = true;
|
||||
|
||||
if (_zipFs == null)
|
||||
return;
|
||||
|
||||
_centralDirStart = (ulong)_zipFs.Position;
|
||||
|
||||
using (CrcCalculatorStream crcCs = new CrcCalculatorStream(_zipFs, true))
|
||||
@@ -79,7 +82,7 @@ namespace Compress.ZipFile
|
||||
_zipFs.Flush();
|
||||
_zipFs.Close();
|
||||
_zipFs.Dispose();
|
||||
_zipFileInfo = new FileInfo(_zipFileInfo.FullName);
|
||||
_zipFileInfo = new FileInfo(_zipFileInfo?.FullName ?? string.Empty);
|
||||
ZipOpen = ZipOpenType.Closed;
|
||||
}
|
||||
|
||||
@@ -98,9 +101,9 @@ namespace Compress.ZipFile
|
||||
}
|
||||
break;
|
||||
case ZipOpenType.OpenWrite:
|
||||
_zipFs.Flush();
|
||||
_zipFs.Close();
|
||||
_zipFs.Dispose();
|
||||
_zipFs?.Flush();
|
||||
_zipFs?.Close();
|
||||
_zipFs?.Dispose();
|
||||
if (_zipFileInfo != null)
|
||||
RVIO.File.Delete(_zipFileInfo.FullName);
|
||||
_zipFileInfo = null;
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Compress.ZipFile
|
||||
{
|
||||
public partial class Zip
|
||||
{
|
||||
private Stream _compressionStream;
|
||||
private Stream? _compressionStream;
|
||||
|
||||
/*
|
||||
raw is true if we are just going to copy the raw data stream from the source to the destination zip file
|
||||
@@ -20,7 +20,7 @@ namespace Compress.ZipFile
|
||||
if raw is false then compressionMthod must be 0,8 or 93 (zstd)
|
||||
*/
|
||||
|
||||
public ZipReturn ZipFileOpenWriteStream(bool raw, bool trrntzip, string filename, ulong uncompressedSize, ushort compressionMethod, out Stream stream, TimeStamps timeStamp = null)
|
||||
public ZipReturn ZipFileOpenWriteStream(bool raw, bool trrntzip, string filename, ulong uncompressedSize, ushort compressionMethod, out Stream? stream, TimeStamps? timeStamp = null)
|
||||
{
|
||||
stream = null;
|
||||
if (ZipOpen != ZipOpenType.OpenWrite)
|
||||
@@ -108,7 +108,7 @@ namespace Compress.ZipFile
|
||||
}
|
||||
|
||||
_localFiles.RemoveAt(fileCount - 1);
|
||||
_zipFs.Position = (long)_localFiles[fileCount - 1].RelativeOffsetOfLocalHeader;
|
||||
_zipFs!.Position = (long)_localFiles[fileCount - 1].RelativeOffsetOfLocalHeader;
|
||||
return ZipReturn.ZipGood;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user