diff options
Diffstat (limited to 'dep/libzip/TODO')
| -rw-r--r-- | dep/libzip/TODO | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/dep/libzip/TODO b/dep/libzip/TODO new file mode 100644 index 00000000000..fb44f99a9fe --- /dev/null +++ b/dep/libzip/TODO @@ -0,0 +1,105 @@ ++ [portability] no off_t in API ++ [portability] use _setmode(_fileno(fp), _O_BINARY); where present ++ [bug] _zip_u2d_time: handle localtime(3) failure ++ [bug] missing -Wl,-R in pkg-config file ++ [bug] check/cleanup flags bit 3 (streaming) support +- [feature] zip_fdopen (read zip from file descriptor), ZIP_AFL_RDONLY +- [feature] Windows support: (paritally fixed?) + . better mkstemp replacement function (no getpid; other problems?) + . snprintf replacement + . strcasecmp replacement + . ssize_t define + . mode_t define + . dll_export/dll_import support (to clarify) +- [cleanup] remove now useless check of fseek +- [consistency check] check that local headers come before central dir +- [bug] zip_open: consistency check: check data descriptor +- [bug] do not compress if storing is smaller +- [bug] zip_open: check whether file can be created and fail if not +- [bug] check for limits imposed by format (central dir size, file size, ...) +- [feature] handle zip_open/zip_close "race" for new files +- [feature] support streaming output (creating new archive to e.g. stdout) +- [feature] add functions to: + . set compression method for new/changed entry + . set last modification time for entry + . read/set EAs + . parse/create some EAs? + . read/set ASCII file flag +- [test] rename deleted (fails) +- [test] rename file to dir/ and vice versa (fails) +------------------------------------------------ API ideas +struct zip *zip_open_encrypted(const char *path, int flags, + const char *password, int *errorp); +void zip_set_default_password(struct zip *archive, const char *password); +(NULL for unsetting) + +struct zip_file *zip_fopen_encrypted(struct zip *archive, + const char *fname, int flags, + const char *password); +struct zip_file *zip_fopen_index_encrypted(struct zip *archive, + int index, int flags, + const char *password); + +int zip_set_encryption(struct zip *archive, int idx, int method, + const char *password); +void zip_set_archive_encryption(struct zip *archive, int encryption_method, + const char *password); + +struct zip_source *zip_source_writable(struct zip *archive); +zip_source_write(struct zip_source *, const void *data, size_t len); +zip_source_printf(struct zip_source *, const char *fmt, ...); +/* maybe +zip_source_vprintf(struct zip_source *, const char *fmt, va_list ap); +*/ +------------------------------------------------ others +* regression tests (duplicate file names, unchange, .{200}) +* zip_commit +* zip_replace_zip: allow rewinding +* API for extracting and setting extra fields +* zipcmp: add option for file content comparison +* support for zip64 (large file) + +* append to files (for self-extracting files) +* add custom compression function support +* zip_replace_zip: remember compression method, recompress if different speced +* close even if error... +* support for old compression methods????? +------------------------------------------------ regression tests +* (add, replace) + add to empty zip + add to existing zip + add w/ existing file name [E] + replace ok + replace w/ illegal index [E] + replace w/ deleted name [E] + unchange added/replaced file +* (close) + copy zip file + open copy + rename, delete, replace, add w/ new name, add w/ deleted name + close + zipcmp copy expected + remove copy +* (delete) +* (error_get) +* (error_get_sys_type) +* (error_to_str) +* (file_error_get) +* (file_strerror) +* (fopen_index) + illegal index +* (get_name) +* (get_num_files) +* (rename) +* (replace) +* (source_buffer) +* (source_file) +* (source_filep) +* (source_free) +* (source_function) +* (source_zip) +* (stat) +* (stat_index) +* (strerror) +* (unchange) +* (unchange_all) |
