Adam Hathcock
ec310c87de
merge fixes and fmt
2026-01-15 15:20:52 +00:00
Adam Hathcock
c55a383112
Merge remote-tracking branch 'origin/master' into adam/async-again
...
# Conflicts:
# tests/SharpCompress.Test/GZip/GZipReaderAsyncTests.cs
# tests/SharpCompress.Test/Rar/RarArchiveAsyncTests.cs
# tests/SharpCompress.Test/SevenZip/SevenZipArchiveAsyncTests.cs
# tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs
# tests/SharpCompress.Test/Tar/TarReaderAsyncTests.cs
# tests/SharpCompress.Test/Zip/Zip64AsyncTests.cs
# tests/SharpCompress.Test/Zip/ZipMemoryArchiveWithCrcAsyncTests.cs
2026-01-15 15:18:05 +00:00
Adam Hathcock
779fba5deb
finish the open refactor?
2026-01-15 12:06:54 +00:00
Adam Hathcock
2756b1f6f8
more refactor
2026-01-15 11:55:56 +00:00
Adam Hathcock
7b76858ae1
refactoring naming again
2026-01-15 11:41:30 +00:00
Adam Hathcock
c1d240b516
Fix more tests
2026-01-14 14:06:39 +00:00
Adam Hathcock
767f3a4985
fix up extensions to more like polyfills
2026-01-13 15:26:45 +00:00
Adam Hathcock
a1a86cdde8
fmt
2026-01-13 14:29:10 +00:00
Adam Hathcock
0b8081f320
gzip fixes
2026-01-13 14:24:36 +00:00
Adam Hathcock
0b5371d986
more async fixing
2026-01-13 14:06:14 +00:00
Adam Hathcock
cdca909d84
fmt
2026-01-13 13:58:31 +00:00
Adam Hathcock
1c0183ef11
force async tests
2026-01-13 13:56:56 +00:00
Adam Hathcock
9cf2b3129c
fixed up async writer
2026-01-13 13:54:15 +00:00
Adam Hathcock
0502ff545e
test fixes and fmt
2026-01-12 15:01:29 +00:00
Adam Hathcock
fce4a96718
make Writable interfaces for archive
2026-01-12 14:57:13 +00:00
Adam Hathcock
38203fb950
Fix async reader variable types - Remove double await on ReaderFactory.OpenAsync and use IAsyncReader
...
- Removed 'await' keyword before ReaderFactory.OpenAsync() calls since the method returns IAsyncReader directly (not Task)
- Changed ZipReader.Open() to ReaderFactory.OpenAsync() in Zip64AsyncTests.ReadForwardOnlyAsync()
- Changed TarReader.Open() to ReaderFactory.OpenAsync() in TarReaderAsyncTests.Tar_BZip2_Entry_Stream_Async()
- Fixed EntryStream disposal from 'await using' to 'using' since EntryStream doesn't implement IAsyncDisposable
- These changes fix compilation errors where async methods were being called on IReader (synchronous) instead of IAsyncReader (asynchronous)
2026-01-12 14:14:46 +00:00
Adam Hathcock
c1f8580d89
Remove unnecessary ValueTask wrappers from async factory methods
...
Change return types from ValueTask<T> to direct interface types (IAsyncArchive, IAsyncReader, IWriter) for wrapper methods that don't perform async work. This eliminates unnecessary async state machine allocations while maintaining the same public API behavior.
Changes:
- Interface definitions: Updated IArchiveFactory, IMultiArchiveFactory, IReaderFactory, IWriterFactory
- Concrete factories: Updated archive factories (Zip, Tar, Rar, GZip, SevenZip) and reader-only factories (Ace, Arc, Arj)
- Static factory methods: Updated ReaderFactory, ArchiveFactory, WriterFactory to use new signatures
- Archive classes: Updated static OpenAsync methods in ZipArchive, TarArchive, RarArchive, SevenZipArchive, GZipArchive
- Supporting changes: Updated Factory.cs and async polyfills
Performance benefit: Reduced GC pressure by eliminating unnecessary state machine overhead for non-async wrapper methods.
2026-01-12 13:16:44 +00:00
Adam Hathcock
05ebf22009
Start using the interface to draw distinction between async and sync
2026-01-12 12:08:25 +00:00
Adam Hathcock
a35e65ee42
use ifdefs for creating files?
2026-01-08 16:52:23 +00:00
Adam Hathcock
17cd934b5b
use async methods where we can
2026-01-08 16:24:11 +00:00
Adam Hathcock
3747a27109
Task to ValueTask
2026-01-08 12:35:12 +00:00
Adam Hathcock
b501bac54a
better names for new interfaces
2026-01-08 12:02:26 +00:00
Adam Hathcock
7aec98d652
read async interface for reader
2026-01-08 11:28:15 +00:00
Adam Hathcock
bb53d1e1c6
entrystream fixes and fmt
2025-10-29 08:41:05 +00:00
Adam Hathcock
aca97c2c6c
add rarcrc tests
2025-10-28 16:48:05 +00:00
copilot-swe-agent[bot]
b4352fefa5
Fix code formatting per CSharpier standards
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-10-28 11:32:39 +00:00
copilot-swe-agent[bot]
a93a3f0598
Address code review feedback - fix formatting
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-10-28 10:26:31 +00:00
copilot-swe-agent[bot]
084f81fc8d
Format code with CSharpier
2025-10-28 10:23:57 +00:00
copilot-swe-agent[bot]
d148f36e87
Add support for empty directory entries in archives
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-10-28 10:22:58 +00:00
copilot-swe-agent[bot]
4067b6ed2c
Fix GZip extraction for non-seekable streams
...
- Modified GZipFilePart to only access stream.Position when stream.CanSeek is true
- Modified GZipArchiveEntry.OpenEntryStream to check CanSeek before accessing Position
- Added test case GZip_Archive_NonSeekableStream to verify non-seekable stream support
- All existing tests pass
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2025-10-27 11:08:38 +00:00
Adam Hathcock
f21b982955
adds more async tests and overloads to make things writable and async
2025-10-27 10:31:10 +00:00
Adam Hathcock
c696197b03
formatting
2025-10-27 10:19:24 +00:00
Adam Hathcock
738a72228b
added fixes and more async tests
2025-10-27 10:15:06 +00:00
Adam Hathcock
fdca728fdc
add some dispose async
2025-10-27 09:47:15 +00:00
Nanook
21f14cd3f2
Added IStreamStack for debugging and configurable buffer management. Added SharpCompressStream to consolodate streams to help simplify debugging. All unit tests passing.
2025-07-20 17:35:22 +01:00
Adam Hathcock
95caffe607
Merge remote-tracking branch 'origin/master' into exception-normalization
...
# Conflicts:
# src/SharpCompress/Common/Rar/RarVolume.cs
# src/SharpCompress/Common/SevenZip/SevenZipFilePart.cs
# src/SharpCompress/Compressors/LZMA/LZipStream.cs
2025-04-28 15:59:34 +01:00
Morilli
525b309d37
Add failing test
2024-06-04 10:33:32 +02:00
Adam Hathcock
e4d5b56951
fix more nulls and tests
2024-04-23 15:08:32 +01:00
Adam Hathcock
e96366f489
Entry can be null and remove other ! usages
2024-04-18 13:24:03 +01:00
Adam Hathcock
0299232cb5
just using rider to clean up
2024-03-14 08:37:17 +00:00
Adam Hathcock
16e8dd447b
update csharpier
2023-03-21 13:14:08 +00:00
Adam Hathcock
b01e97b168
more clean up
2022-12-20 15:20:49 +00:00
Adam Hathcock
7da10795a1
csharpier
2022-12-20 15:14:22 +00:00
Adam Hathcock
959bbdcf1b
big clean up
2022-12-20 15:06:44 +00:00
Adam Hathcock
970e31a1b1
cleanup and run csharpier
2022-12-20 13:45:47 +00:00
Nanook
4eb1fe0b80
RarArchive has Min/MaxVersion. RarEntry has Volumne Indexes. GZ CRC fix.
2022-07-15 21:15:10 +01:00
Adam Hathcock
2dd17e3882
Be explicit about zip64 extra field sizes. Formatting
2021-02-13 07:05:53 +00:00
Adam Hathcock
0f06c3d934
Fix rewindable stream to expose length
2021-01-13 14:40:36 +00:00
Adam Hathcock
9d5cb8d119
Add GZip Reader tests
2021-01-13 10:42:59 +00:00
Adam Hathcock
ee17dca9e5
Fix formatting
2021-01-09 13:36:30 +00:00