-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Hi,
I'm getting errors when processing a large file, likely because it's opening a ton of %Stream.FileBinary instances in the background that each hold a handle on an actual "temporary" file, long before they may get written through a call to ExtractTo().
The %ArrayOfDataTypes interface is neat, but I think it's not very practical for large archives. A static method that just does the full process without returning a FileBinaryTar object would be just as practical for these cases. I was able to work around the issue by adding a pDest argument to ExtractStream()/ExtractFile() and copying much of the ExtractTo() code to the end of ExtractStream(), putting it instead of writing to tFile.fileData. Also needed %Save() in that case rather than just %Close(). I made too much of a mess on my way to this piece so don't have a PR right away, so maybe you'll beat me to writing this out in full ;-)
Thanks for sharing!
benjamin