Extract Method

Extracts the compressed file from the gzip archive.

Syntax

ANSI (Cross Platform)
int Extract();

Unicode (Windows)
INT Extract();
- (void)extract;
#define MID_GZIP_EXTRACT 6

IPWORKSZIP_EXTERNAL int IPWORKSZIP_CALL IPWorksZip_Gzip_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);

Remarks

Invoking Extract decompresses the archive specified by ArchiveFile. The compressed file will be extracted, and written to disk. Also, FileCompressedName will be set to the filename found in the archive.

If FileDecompressedName is set to a nonempty string the file will be written there. Otherwise the class will automatically set FileDecompressedName to an appropriate value:

If a filename (i.e., FileCompressedName) is stored in the gzip headers, this filename will be used.

Otherwise, if ArchiveFile ends in ".gz", this filename, less the ".gz" extension will be used. If there are multiple files in the archive, the current 0-based file index will be appended to all files after the first file to differentiate between multiple files. For instance "test.gz" would become "test" for the first file and "test.gz" would become "test.1" for the second file in the archive.

If neither of these two conditions holds, ".unzipped" will be appended to ArchiveFile.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks ZIP 2020 C++ Edition - Version 20.0 [Build 8300]