Do you have no success with the revZipDescribeItem() function. This should give 
the compressed size directly after compression. 

Sean


> On 20 Oct 2022, at 16:31, Paul Dupuis via use-livecode 
> <use-livecode@lists.runrev.com> wrote:
> 
> In addition to the revZIP library, whether building for 32 bit Windows 
> standalone or 64-bit Standalones, still (as of LC 9.6.8) has a 2GB limit on 
> archives it can open and a 2GB limit on what it can save, there appears to be 
> NO mechanism to get the compressed size of an item (file) in the archive. 
> Neither the revZipAddItemWithFile nor the revZipAddItemWithData, nor any 
> other API in the dictionary lets you get the compressed size of something 
> after compressing it.
> 
> This is especially annoying with the 2GB limit on saving an archive and that 
> error only occurs when you call revZipCloseArchive at the end. That means if 
> a user of your application tries to archive a list of file that are 50GB or 
> some even larger number the code happily compresses everyone, going well over 
> 2GB until it tries to close and save the archive at the end and ONLY after 
> all that wasted time do you get an error.
> 
> I can obviously get the uncompressed size of each file (using detailed files) 
> and keep a running total and IF that total hist 2GB then stop a process that 
> MIGHT fail in the end. However, perhaps their uncompressed files are 2.5GB 
> but when compressed would be 1.8gb and work.
> 
> Folks have already suggested abandoning the revZIP library and using shell to 
> invoke native command line tools (although no call backs for a progress bar 
> is possible with CLI tools, which, is a BIG disadvantage to that approach for 
> our users). However, I really wish the revZIP library just worked right.
> 
> On a long shot, does anyone know of a clever trick using the revZIP library, 
> to get the compressed size of an item after you compress it?
> 
> I suppose I could open the archive, compress 1 item, close the archive, check 
> the size of the archive via detailed files, and then open the archive  add 
> the nest compressed file, close, measure the size and so on, but I feel the 
> overhead would slow down and already slow process even further.
> 
> My best option may be to just add up the uncompressed sizes of the files 
> involved.
> 
> Any clever ideas welcome!
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to