.\" zip_file_rename.mdoc -- rename file in zip archive
.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner
.\"
.\" This file is part of libzip, a library to manipulate ZIP archives.
.\" The authors can be contacted at <libzip@nih.at>
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in
.\"    the documentation and/or other materials provided with the
.\"    distribution.
.\" 3. The names of the authors may not be used to endorse or promote
.\"    products derived from this software without specific prior
.\"    written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd September 22, 2020
.Dt ZIP_FILE_RENAME 3
.Os
.Sh NAME
.Nm zip_file_rename
.Nd rename file in zip archive
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Ft int
.Fn zip_file_rename "zip_t *archive" "zip_uint64_t index" "const char *name" "zip_flags_t flags"
.Sh DESCRIPTION
The file at position
.Ar index
in the zip archive
.Ar archive
is renamed to
.Ar name .
The
.Ar flags
argument can be any of:
.Bl -tag -width XZIPXFLXENCXSTRICTXX
.It Dv ZIP_FL_ENC_GUESS
Guess encoding of
.Ar name
(default).
(Only CP-437 and UTF-8 are recognized.)
.It Dv ZIP_FL_ENC_UTF_8
Interpret
.Ar name
as UTF-8.
.It Dv ZIP_FL_ENC_CP437
Interpret
.Ar name
as code page 437 (CP-437).
.El
.Sh RETURN VALUES
Upon successful completion 0 is returned.
Otherwise, \-1 is returned and the error code in
.Ar archive
is set to indicate the error.
.Sh ERRORS
.Fn zip_file_rename
fails if:
.Bl -tag -width Er
.It Bq Er ZIP_ER_DELETED
The file to be renamed has been deleted from the archive.
.It Bq Er ZIP_ER_EXISTS
There is already a file called
.Ar name
in the archive.
.It Bq Er ZIP_ER_INVAL
.Ar index
is not a valid file index in
.Ar archive ,
.Ar name is
.Dv NULL ,
the empty string, or not a valid UTF-8 encoded string.
Also a file cannot be renamed to a directory or vice versa.
Directories are denoted by a trailing slash.
.El
.Sh SEE ALSO
.Xr libzip 3 ,
.Xr zip_unchange 3
.Sh HISTORY
.Fn zip_file_rename
was added in libzip 0.11.
.Sh AUTHORS
.An -nosplit
.An Dieter Baron Aq Mt dillo@nih.at
and
.An Thomas Klausner Aq Mt tk@giga.or.at
