Quantcast
Channel: sharpcompress Discussions Rss Feed
Viewing all articles
Browse latest Browse all 239

New Post: Can make method AddEntry return the entry added?

$
0
0
Hello,
I'm trying to manage the file tree outside of sharpcompress.
I found method AddEntry will return nothing so I had to enumerate Entries each time after I add a file.
Then I make a patch
diff --git a/SharpCompress/Archive/AbstractWritableArchive.cs b/SharpCompress/Archive/AbstractWritableArchive.cs
index c03f549..8e3b276 100644
--- a/SharpCompress/Archive/AbstractWritableArchive.cs
+++ b/SharpCompress/Archive/AbstractWritableArchive.cs
@@ -67,28 +67,32 @@ namespace SharpCompress.Archive
             }
         }
 
-        public void AddEntry(string filePath, Stream source,
+        public TEntry AddEntry(string filePath, Stream source,
                              long size = 0, DateTime? modified = null)
         {
-            newEntries.Add(CreateEntry(filePath, source, size, modified, false));
+            var entry = CreateEntry(filePath, source, size, modified, false);
+            newEntries.Add(entry);
             RebuildModifiedCollection();
+            return entry;
         }
 
-        public void AddEntry(string filePath, Stream source, bool closeStream,
+        public TEntry AddEntry(string filePath, Stream source, bool closeStream,
                              long size = 0, DateTime? modified = null)
         {
-            newEntries.Add(CreateEntry(filePath, source, size, modified, closeStream));
+            var entry = CreateEntry(filePath, source, size, modified, closeStream);
+            newEntries.Add(entry);
             RebuildModifiedCollection();
+            return entry;
         }
 
 #if !PORTABLE && !NETFX_CORE
-        public void AddEntry(string filePath, FileInfo fileInfo)
+        public TEntry AddEntry(string filePath, FileInfo fileInfo)
         {
             if (!fileInfo.Exists)
             {
                 throw new ArgumentException("FileInfo does not exist.");
             }
-            AddEntry(filePath, fileInfo.OpenRead(), true, fileInfo.Length, fileInfo.LastWriteTime);
+            return AddEntry(filePath, fileInfo.OpenRead(), true, fileInfo.Length, fileInfo.LastWriteTime);
         }
 #endif
If you think it's reasonable please merge it, thank you for the work.

Viewing all articles
Browse latest Browse all 239

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>