Commit Graph

107 Commits

Author SHA1 Message Date
catester
391663ac67 Replaced NotImplementedException for streams
Especially for streams, it is more appropriate to throw
NotSupportedException instead of NotImplementedException. Usually
consumers of streams expect NotSupportedException to handle errors.
There are other places that also use NotImplementedException but I
didn't examine them for now. I only modified stream classes in
SharpCompress.IO. For reference about this best practise, please see
these articles:
http://blogs.msdn.com/b/brada/archive/2004/07/29/201354.aspx

http://blogs.msdn.com/b/jaredpar/archive/2008/12/12/notimplementedexception-vs-notsupportedexception.aspx
2015-03-14 12:46:34 +02:00
catester
a8c055b990 Added IWritableArchive interface
So that when working with ArchiveFactory, you can cast the opened
archive to IWritableArchive for accessing AddEntry, RemoveEntry and
SaveTo methods without having to know what type of archive is opened
underhood. Also moved extension methods from AbstractWritableArchive to
this new interface. Also added GZipArchive to ArchiveFactory.Create as
it is one of the 3 writable archive types (zip, tar, gzip), not sure why
it was omitted.
2015-03-13 22:38:33 +02:00
Adam Hathcock
e52c183f1a Merge pull request #40 from Strachu/master
Inconsistent time format
2015-01-14 14:25:57 +00:00
Strachu
62f198b532 All archive types now consistently return times as local time. 2015-01-14 14:23:59 +01:00
Hamdanil Rasyid
9770cfec9b Fix typo 2015-01-11 17:06:02 -08:00
Adam Hathcock
e05f30308c Merge pull request #30 from larvata/fix-zip-ansi-filename
Fix ansi filename decoded as gibberish in zip file
2014-12-24 17:10:30 +00:00
Adam Hathcock
6958347849 Merge pull request #32 from larvata/fix-extractAllEntires
Add EntryExtractionEvent for stream reader
2014-12-24 17:10:08 +00:00
larvata
0c36ff6082 Fix ansi filename decoded as gibberish in zip file 2014-12-24 13:58:29 +08:00
larvata
f78e839365 implement info-zip unicode path extra field
Winrar won't set 'general purpose bit flag' for unicode filename storage
but use 'extra field:Info-ZIP Unicode Path Extra Field' instead.
2014-12-24 13:51:31 +08:00
larvata
7e3f04e669 add entryExtractionEvent for stream 2014-12-22 16:34:47 +08:00
Adam Hathcock
2d237bfbca Merge pull request #29 from arition/password_fix
Fix error when password is not in English
2014-12-18 23:41:35 +00:00
Adam Hathcock
e6e88dbde0 Merge pull request #28 from Strachu/tar_fix
Fixed bugs related to handling of .tar archives with long names
2014-12-16 14:37:09 +00:00
arition
e558a78354 Fix error when password is not in English 2014-12-16 19:47:13 +08:00
Adam Hathcock
c2df06a746 Merge pull request #27 from Strachu/rar_reorder
Changed the order of detecting whether the archive is in .rar format.
2014-12-16 10:51:47 +00:00
Strachu
8fcb0cb7a2 Fixed bug causing entries of non-ustar archive being after one with very long name to be discarded 2014-12-16 11:11:02 +01:00
Strachu
2e533f9fb5 Fixed handling of ustar tar files with long names. 2014-12-15 21:13:57 +01:00
Strachu
ca2778b658 Changed the order of detecting whether the archive is in .rar format.
Its very slow with big archives and shouldn't be done when we got archive in format which can be detected fast.
2014-12-15 20:57:54 +01:00
Strachu
3147ee0f14 Exposed modification time for .7z archives 2014-12-15 20:26:26 +01:00
Adam Hathcock
6e05a20136 Support file sizes larger than int.MaxValue 2014-10-24 09:39:59 +01:00
Adam Hathcock
d36ae445e2 Don't dispose! 2014-07-01 19:33:59 +01:00
Adam Hathcock
d1a64021e1 Check for entry stream null. 2014-04-30 11:26:54 +01:00
Adam Hathcock
49d6f1f633 Enumerate FILES not DIRECTORIES 2014-04-15 09:41:16 +01:00
Adam Hathcock
505f435f5d Renamed LinqBridge to .NET 2.0 target.
Cleaned up some cross-versioning code.
2014-04-15 09:36:05 +01:00
Bastian Eicher
8c3d260d7c Added .NET 2.0 version (with LinqBridge) 2014-03-18 14:45:48 +01:00
Adam Hathcock
0fd00efada Fixed other projects 2014-02-01 10:36:22 +00:00
Adam Hathcock
71e86cd7e4 Added explicit checks for multi-volume encrypted archives to throw an error 2014-02-01 10:29:01 +00:00
Adam Hathcock
c64a96398d RarArchives now have password support 2014-02-01 09:01:15 +00:00
Adam Hathcock
efa9805fe4 Fixing Windows Store project to be Windows 8.1 with newest files 2014-02-01 07:57:50 +00:00
Adam Hathcock
2100d49cef Little more clean up 2013-12-23 12:29:41 +00:00
Adam Hathcock
66ffc82d41 Entries don't have FilePaths, they have keys 2013-12-23 12:20:06 +00:00
Adam Hathcock
e58ec599f0 Cleaning up some FileInfo non-usage and fixing tests. 2013-12-23 12:15:57 +00:00
Adam Hathcock
4eda2043df Moved ExtractTo to common logic 2013-12-23 11:42:08 +00:00
Adam Hathcock
afd65a7505 Removed unimplemented Close 2013-12-23 11:12:07 +00:00
Adam Hathcock
97bc1865dc When using writable entries, reset stream on entry stream access. 2013-12-21 17:37:54 +00:00
Adam Hathcock
865afbfbf0 Throw exception when adding duplicate entry 2013-12-21 17:29:36 +00:00
Adam Hathcock
c59e6a8c99 AddEntry should return the added entry. 2013-12-21 17:14:41 +00:00
Adam Hathcock
be9111630e Fix for some type management problems 2013-12-21 09:34:40 +00:00
Adam Hathcock
d46de85ca2 Allow multiple saves of an archive. New entry streams must be seekable and resetable. 2013-12-20 15:50:29 +00:00
Adam Hathcock
c1562c5829 new entry streams must be readable and seekable 2013-12-20 15:33:20 +00:00
Adam Hathcock
cc3848aea5 Remove write check as I never actually write to any of the read streams 2013-12-20 15:00:17 +00:00
Adam Hathcock
46fc663e90 Fixed issue where adding a new entry then removing it wouldn't actually remove it. 2013-12-20 12:28:17 +00:00
Adam Hathcock
84ed6bc7f0 More Can* implemented 2013-12-19 11:05:39 +00:00
Adam Hathcock
fe5895d373 Implement Can* 2013-12-19 10:35:15 +00:00
Adam Hathcock
770e2d6e75 Resharper 8.1 2013-12-19 10:34:59 +00:00
Adam Hathcock
84704e5ce2 Release packaging for 0.10.3 2013-12-15 11:42:54 +00:00
Adam Hathcock
fe8c6aec5f Ensure adding always disposes 2013-12-15 11:16:48 +00:00
Adam Hathcock
3ab38fbfc2 If the requested amount of bytes was not read, assume end of stream 2013-11-24 09:40:38 +00:00
Adam Hathcock
b4bfde77d2 Version 0.10.2 2013-11-23 13:08:54 +00:00
Adam Hathcock
c4b005b3d4 Strong name Windows Store assembly 2013-11-23 11:13:01 +00:00
Adam Hathcock
c9d1f7b528 Updating with VS 2013 2013-11-23 11:10:22 +00:00