zip_dir_add(3)

zip_dir_add3

Add directory to zip archive

Usage

#include <zip.h>

zip_int64_t

zip_dir_add(zip_t *archive, const char *name, zip_flags_t flags);

Library

libzip (-lzip)

Overview

The function zip_dir_add() adds a directory to a zip archive. The argument archive specifies the zip archive to which the directory should be added. name is the directory's name in the zip archive.

This function adds an entry to the archive. It does not check whether a directory with that name exists in the file system, nor does it add its contents if it does. The flags argument can be any of:

ZIP_FL_ENC_GUESS

Guess encoding of name (default). (Only CP-437 and UTF-8 are recognized.)

ZIP_FL_ENC_UTF_8

Interpret name as UTF-8.

ZIP_FL_ENC_CP437

Interpret name as code page 437 (CP-437).

Return values

Upon successful completion, the index of the new entry in the archive is returned. Otherwise, -1 is returned and the error code in archive is set to indicate the error.

Errors

zip_dir_add() fails if:

[ZIP_ER_EXISTS]

There is already an entry called name in the archive.

[ZIP_ER_INVAL]

archive or name are NULL, or invalid UTF-8 encoded file names.

[ZIP_ER_MEMORY]

Required memory could not be allocated.

Releases

7 releases since Debian 8 (Jessie); the text changed 4 times.

  1. 8
  2. 9
  3. 10
  4. 11–12
  5. 13–Arch

History

zip_dir_add() was added in libzip 0.11.

Authors

Dieter Baron ⟨[email protected]⟩ and Thomas Klausner ⟨[email protected]⟩

From libzip 1.11.4-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.