Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ZIP_NAME_LOCATE(3)	    Library Functions Manual	    ZIP_NAME_LOCATE(3)

NAME
       zip_name_locate -- get index of file by name

LIBRARY
       libzip (-lzip)

SYNOPSIS
       #include	<zip.h>

       zip_int64_t
       zip_name_locate(zip_t *archive, const char *fname, zip_flags_t flags);

DESCRIPTION
       The  zip_name_locate()  function	 returns  the  index of	the file named
       fname in	archive.  If archive does not contain a	file with  that	 name,
       -1 is returned.

       If  neither  ZIP_FL_ENC_RAW  nor	ZIP_FL_ENC_STRICT are specified, guess
       the encoding of the name	in the ZIP archive and convert it to UTF-8, if
       necessary, before comparing.

       If neither ZIP_FL_ENC_CP437 nor ZIP_FL_ENC_UTF_8	are  specified,	 guess
       the encoding of fname.

       Only CP-437 and UTF-8 are recognized.

       The  flags  are specified by or'ing the following values, or 0 for none
       of them.

	     ZIP_FL_NOCASE	Ignore case  distinctions.   (Will  only  work
				well  if the file names	are ASCII.)  With this
				flag,  zip_name_locate()  will	be  slow   for
				archives with many files.

	     ZIP_FL_NODIR	Ignore directory part of file name in archive.
				With this flag,	zip_name_locate() will be slow
				for archives with many files.

	     ZIP_FL_ENC_GUESS	This  flag  has	no effect (its value is	0); it
				can be used to explicitly denote  the  absence
				of encoding flags.

	     ZIP_FL_ENC_RAW	Compare	 fname against the unmodified names as
				they are in the	ZIP archive, without  convert-
				ing them to UTF-8.

	     ZIP_FL_ENC_STRICT	Follow the ZIP specification and expect	CP-437
				encoded	 names	in  the	ZIP archive (except if
				they are explicitly marked as UTF-8).  Convert
				them to	UTF-8 before comparing.

	     ZIP_FL_ENC_CP437	fname is encoded as CP-437.

	     ZIP_FL_ENC_UTF_8	fname is encoded as UTF-8.

       Note: ASCII is a	subset of both CP-437 and UTF-8.

RETURN VALUES
       zip_name_locate() returns the index of the file named fname or  -1,  if
       archive does not	contain	an entry of that name.

ERRORS
       zip_name_locate() fails if:

       [ZIP_ER_INVAL]	  One of the arguments is invalid.

       [ZIP_ER_MEMORY]	  Required memory could	not be allocated.

       [ZIP_ER_NOENT]	  No entry of the name fname is	found in the archive.

SEE ALSO
       libzip(3), zip_get_name(3)

HISTORY
       zip_name_locate()  was  added in	libzip 0.6.  In	libzip 0.11 the	return
       type was	changed	from int to zip_int64_t.  In libzip 0.11 the  type  of
       flags was changed from int to zip_flags_t.

AUTHORS
       Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at>

FreeBSD	Ports 14.quarterly	March 15, 2022		    ZIP_NAME_LOCATE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=zip_name_locate&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help