diff options
| author | Xinchen Hui <laruence@gmail.com> | 2013-12-15 16:55:29 +0800 | 
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2013-12-15 16:55:29 +0800 | 
| commit | 5eb8d9d70009c0bf9bfbbf511f2713e64dc8ee83 (patch) | |
| tree | 2480a26e79d85b4b7f2eacb5a2187eb13f029094 /ext/zip/lib/zip_file_get_comment.c | |
| parent | 10964b78548a5878254f5aa75f4cfdcedb0543bc (diff) | |
| parent | 904721189ff949c67795ec418f04b67951cbd57b (diff) | |
| download | php-git-5eb8d9d70009c0bf9bfbbf511f2713e64dc8ee83.tar.gz | |
Merge branch 'PHP-5.6' of https://git.php.net/push/php-src into PHP-5.6
Diffstat (limited to 'ext/zip/lib/zip_file_get_comment.c')
| -rw-r--r-- | ext/zip/lib/zip_file_get_comment.c | 58 | 
1 files changed, 58 insertions, 0 deletions
| diff --git a/ext/zip/lib/zip_file_get_comment.c b/ext/zip/lib/zip_file_get_comment.c new file mode 100644 index 0000000000..766731ea26 --- /dev/null +++ b/ext/zip/lib/zip_file_get_comment.c @@ -0,0 +1,58 @@ +/* +  zip_file_get_comment.c -- get file comment +  Copyright (C) 2006-2012 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. +*/ + + + +#include "zipint.h" + + +/* lenp is 32 bit because converted comment can be longer than ZIP_UINT16_MAX */ + +ZIP_EXTERN const char * +zip_file_get_comment(struct zip *za, zip_uint64_t idx, zip_uint32_t *lenp, zip_flags_t flags) +{ +    struct zip_dirent *de; +    zip_uint32_t len; +    const zip_uint8_t *str; + +    if ((de=_zip_get_dirent(za, idx, flags, NULL)) == NULL) +	return NULL; + +    if ((str=_zip_string_get(de->comment, &len, flags, &za->error)) == NULL) +	return NULL; + +    if (lenp) +	*lenp = len; + +    return (const char *)str; +} | 
