|
|
|
CHARACTER DecodeEntryName (memptr, int64, integer, logical)
|
Decodes an entry name stored in a ZIP archive
Notes : Names without the UTF-8 flag use the IBM PC code page 437
@param pmArchive The ZIP archive
@param piPosition The 1-based position of the name in the archive
@param piLength The length of the name in bytes
@param plUtf8 Logical value indicating if the name is UTF-8 encoded
@return The entry name
*/
|
|
|
|
EncodeEntryName (character, memptr)
|
Encodes an entry name as UTF-8
Notes : The caller is responsible for freeing the MEMPTR
@param pcEntryName The entry name
@param pmName OUTPUT The UTF-8 encoded name
*/
|
|
|
|
DATETIME FromDosDateTime (integer, integer)
|
Returns a date and time from the MS-DOS date and time fields of
a ZIP entry
Notes : Returns ? for an invalid date
@param piDosDate The MS-DOS date
@param piDosTime The MS-DOS time
@return The date and time
*/
|
|
|
|
CHARACTER NormalizeEntryName (character, logical)
|
Returns the normalized name of a ZIP entry
Notes : Back slashes are replaced by forward slashes, folder entries
end with a forward slash. Raises an InvalidZipEntryNameException
for an invalid name.
@param pcEntryName The entry name
@param plDirectory Logical value indicating if the entry is a folder
@return The normalized entry name
*/
|
|
|
|
INTEGER ToDosDate (datetime)
|
Returns the MS-DOS date field of a ZIP entry
Notes : Dates before 1980 are stored as 1980-01-01, dates after 2107
as 2107-12-31
@param pdtValue The date and time
@return The MS-DOS date
*/
|
|
|
|
INTEGER ToDosTime (datetime)
|
Returns the MS-DOS time field of a ZIP entry
Notes : The resolution is two seconds; times of dates before 1980 or
after 2107 are stored as 00:00:00 or 23:59:58
@param pdtValue The date and time
@return The MS-DOS time
*/
|
|
|
|
ValidateEntryName (character)
|
Validates the name of a ZIP entry
Notes : Raises an InvalidZipEntryNameException when the name is empty,
absolute (leading slash or drive letter) or refers to a parent
folder. Protects ExtractAll against path traversal ("Zip Slip").
@param pcEntryName The entry name
*/
|