zip_file_set_dostime, zip_file_set_mtime — set last modification time (mtime) for file in zip
Contents
Caveats
Following historical practice, the zip_file_set_mtime() function translates the time from the zip archive
into the local time zone. If you want to avoid this, use the zip_file_set_dostime() function instead.
Debian June 18, 2022 ZIP_FILE_SET_MTIME(3)
Description
The zip_file_set_mtime() function sets the last modification time (mtime) for the file at position index
in the zip archive to mtime. Currently, no support for any flags is implemented.
In the zip archive, the time and date are saved as two 16-bit integers. To set the values directly, call
the zip_file_set_dostime() function. The values of the time bytes are defined as follows:
0-4 seconds divided by two (1-2 = 1, 3-4 = 2, ...)
5-10 minute (0-59)
11-15 hour (0-23)
The values of the date bytes are defined as follows:
0-4 day of the month (1-31)
5-8 month (January = 1, February = 2, ...)
9-15 year offset from 1980 (1980 = 0, 1981 = 1, ...)
Errors
zip_file_set_dostime() and zip_file_set_mtime() fail if:
[ZIP_ER_INVAL] index is not a valid file index in archive.
[ZIP_ER_MEMORY] Required memory could not be allocated.
[ZIP_ER_OPNOTSUPP]
Traditional PKWare encryption uses the file's mtime, therefore it cannot be changed
without re-encrypting the data.
[ZIP_ER_RDONLY] The archive was opened in read-only mode.
History
zip_file_set_mtime() was added in libzip 1.0. zip_file_set_dostime() was added in libzip 1.6.
Library
libzip (-lzip)
Name
zip_file_set_dostime, zip_file_set_mtime — set last modification time (mtime) for file in zip
Return Values
Upon successful completion 0 is returned. Otherwise, -1 is returned and the error information in archive
is set to indicate the error.
See Also
libzip(3), zip_stat(3)
Synopsis
#include<zip.h>intzip_file_set_dostime(zip_t*archive, zip_uint64_tindex, zip_uint16_tdostime, zip_uint16_tdosdate,
zip_flags_tflags);
intzip_file_set_mtime(zip_t*archive, zip_uint64_tindex, time_tmtime, zip_flags_tflags);
