Предоставляет ли LIBZIP способ проверить, является ли zip_file КАТАЛОГОМ? - PullRequest
0 голосов
/ 06 июня 2019

Я использую довольно старую версию libzip (0.10.1-1.2) из-за вопросов совместимости.

Обычно мы проверяем тип файла (символическая ссылка, dir, file и т. Д.) По результату его статистики.Аналогично, в libzip мы zip_stat, но его структура не содержит ничего подобного ST_MOD из файловой системы STAT.

struct zip_stat {
    zip_uint64_t valid;         /* which fields have valid values */
    const char *name;           /* name of the file */
    zip_uint64_t index;         /* index within archive */
    zip_uint64_t size;          /* size of file (uncompressed) */
    zip_uint64_t comp_size;     /* size of file (compressed) */
    time_t mtime;           /* modification time */
    zip_uint32_t crc;           /* crc of file data */
    zip_uint16_t comp_method;       /* compression method used */
    zip_uint16_t encryption_method; /* encryption method used */
    zip_uint32_t flags;         /* reserved for future use */
};

Есть ли способ проверить, является ли запись DIR или нет?

1 Ответ

1 голос
/ 02 июля 2019

Да. Проверьте, является ли последний символ name равным '/'. Только каталоги заканчиваются на '/'.

Источники:

...