AC_DEFINE('HAVE_ZLIB', 1);
AC_DEFINE('HAVE_ZIP', 1);
+ ADD_FLAG("CFLAGS_ZIP", "/D PHP_ZIP_EXPORTS ");
} else {
WARNING("zip not enabled; libraries and headers not found");
}
*/
\f
-
-#ifdef __cplusplus
-extern "C" {
+#include "main/php.h"
+/* #defines that rename all zip_ functions and structs */
+#include "zip_alias.h"
+#ifdef PHP_WIN32
+#include "zip_win32.h"
+# ifdef PHP_ZIP_EXPORTS
+# define PHPZIPAPI __declspec(dllexport)
+# else
+# define PHPZIPAPI
+# endif
+#else
+#define PHPZIPAPI
#endif
-
+BEGIN_EXTERN_C()
#include <sys/types.h>
#include <stdio.h>
#include <time.h>
-#include "zip_win32.h"
/* flags for zip_open */
\f
-int zip_add(struct zip *, const char *, struct zip_source *);
-int zip_add_dir(struct zip *, const char *);
-int zip_close(struct zip *);
-int zip_delete(struct zip *, int);
-void zip_error_clear(struct zip *);
-void zip_error_get(struct zip *, int *, int *);
-int zip_error_get_sys_type(int);
-int zip_error_to_str(char *, size_t, int, int);
-int zip_fclose(struct zip_file *);
-void zip_file_error_clear(struct zip_file *);
-void zip_file_error_get(struct zip_file *, int *, int *);
-const char *zip_file_strerror(struct zip_file *);
-struct zip_file *zip_fopen(struct zip *, const char *, int);
-struct zip_file *zip_fopen_index(struct zip *, int, int);
-ssize_t zip_fread(struct zip_file *, void *, size_t);
-const char *zip_get_archive_comment(struct zip *, int *, int);
-const char *zip_get_file_comment(struct zip *, int, int *, int);
-const char *zip_get_name(struct zip *, int, int);
-int zip_get_num_files(struct zip *);
-int zip_name_locate(struct zip *, const char *, int);
-struct zip *zip_open(const char *, int, int *);
-int zip_rename(struct zip *, int, const char *);
-int zip_replace(struct zip *, int, struct zip_source *);
-int zip_set_archive_comment(struct zip *, const char *, int);
-int zip_set_file_comment(struct zip *, int, const char *, int);
-struct zip_source *zip_source_buffer(struct zip *, const void *, off_t, int);
-struct zip_source *zip_source_file(struct zip *, const char *, off_t, off_t);
-struct zip_source *zip_source_filep(struct zip *, FILE *, off_t, off_t);
-void zip_source_free(struct zip_source *);
-struct zip_source *zip_source_function(struct zip *,
+PHPZIPAPI int zip_add(struct zip *, const char *, struct zip_source *);
+PHPZIPAPI int zip_add_dir(struct zip *, const char *);
+PHPZIPAPI int zip_close(struct zip *);
+PHPZIPAPI int zip_delete(struct zip *, int);
+PHPZIPAPI void zip_error_clear(struct zip *);
+PHPZIPAPI void zip_error_get(struct zip *, int *, int *);
+PHPZIPAPI int zip_error_get_sys_type(int);
+PHPZIPAPI int zip_error_to_str(char *, size_t, int, int);
+PHPZIPAPI int zip_fclose(struct zip_file *);
+PHPZIPAPI void zip_file_error_clear(struct zip_file *);
+PHPZIPAPI void zip_file_error_get(struct zip_file *, int *, int *);
+PHPZIPAPI const char *zip_file_strerror(struct zip_file *);
+PHPZIPAPI struct zip_file *zip_fopen(struct zip *, const char *, int);
+PHPZIPAPI struct zip_file *zip_fopen_index(struct zip *, int, int);
+PHPZIPAPI ssize_t zip_fread(struct zip_file *, void *, size_t);
+PHPZIPAPI const char *zip_get_archive_comment(struct zip *, int *, int);
+PHPZIPAPI const char *zip_get_file_comment(struct zip *, int, int *, int);
+PHPZIPAPI const char *zip_get_name(struct zip *, int, int);
+PHPZIPAPI int zip_get_num_files(struct zip *);
+PHPZIPAPI int zip_name_locate(struct zip *, const char *, int);
+PHPZIPAPI struct zip *zip_open(const char *, int, int *);
+PHPZIPAPI int zip_rename(struct zip *, int, const char *);
+PHPZIPAPI int zip_replace(struct zip *, int, struct zip_source *);
+PHPZIPAPI int zip_set_archive_comment(struct zip *, const char *, int);
+PHPZIPAPI int zip_set_file_comment(struct zip *, int, const char *, int);
+PHPZIPAPI struct zip_source *zip_source_buffer(struct zip *, const void *, off_t, int);
+PHPZIPAPI struct zip_source *zip_source_file(struct zip *, const char *, off_t, off_t);
+PHPZIPAPI struct zip_source *zip_source_filep(struct zip *, FILE *, off_t, off_t);
+PHPZIPAPI void zip_source_free(struct zip_source *);
+PHPZIPAPI struct zip_source *zip_source_function(struct zip *,
zip_source_callback, void *);
-struct zip_source *zip_source_zip(struct zip *, struct zip *, int, int,
+PHPZIPAPI struct zip_source *zip_source_zip(struct zip *, struct zip *, int, int,
off_t, off_t);
-int zip_stat(struct zip *, const char *, int, struct zip_stat *);
-int zip_stat_index(struct zip *, int, int, struct zip_stat *);
-void zip_stat_init(struct zip_stat *);
-const char *zip_strerror(struct zip *);
-int zip_unchange(struct zip *, int);
-int zip_unchange_all(struct zip *);
-int zip_unchange_archive(struct zip *);
-
-#ifdef __cplusplus
-}
-#endif
-
+PHPZIPAPI int zip_stat(struct zip *, const char *, int, struct zip_stat *);
+PHPZIPAPI int zip_stat_index(struct zip *, int, int, struct zip_stat *);
+PHPZIPAPI void zip_stat_init(struct zip_stat *);
+PHPZIPAPI const char *zip_strerror(struct zip *);
+PHPZIPAPI int zip_unchange(struct zip *, int);
+PHPZIPAPI int zip_unchange_all(struct zip *);
+PHPZIPAPI int zip_unchange_archive(struct zip *);
+
+END_EXTERN_C();
#endif /* _HAD_ZIP_H */
\f
-int
+PHPZIPAPI int
zip_add(struct zip *za, const char *name, struct zip_source *source)
{
if (name == NULL || source == NULL) {
\f
-int
+PHPZIPAPI int
zip_add_dir(struct zip *za, const char *name)
{
int len, ret;
static int _zip_changed(struct zip *, int *);
static char *_zip_create_temp_output(struct zip *, FILE **);
-int
+PHPZIPAPI int
zip_close(struct zip *za)
{
int survivors;
\f
-int
+PHPZIPAPI int
zip_delete(struct zip *za, int idx)
{
if (idx < 0 || idx >= za->nentry) {
\f
-void
+PHPZIPAPI void
_zip_cdir_free(struct zip_cdir *cd)
{
int i;
\f
-struct zip_cdir *
+PHPZIPAPI struct zip_cdir *
_zip_cdir_new(int nentry, struct zip_error *error)
{
struct zip_cdir *cd;
\f
-int
+PHPZIPAPI int
_zip_cdir_write(struct zip_cdir *cd, FILE *fp, struct zip_error *error)
{
int i;
\f
-void
+PHPZIPAPI void
_zip_dirent_finalize(struct zip_dirent *zde)
{
free(zde->filename);
\f
-void
+PHPZIPAPI void
_zip_dirent_init(struct zip_dirent *de)
{
de->version_madeby = 0;
returned.
*/
-int
+PHPZIPAPI int
_zip_dirent_read(struct zip_dirent *zde, FILE *fp,
unsigned char **bufp, unsigned int left, int localp,
struct zip_error *error)
returned.
*/
-int
+PHPZIPAPI int
_zip_dirent_write(struct zip_dirent *zde, FILE *fp, int localp,
struct zip_error *error)
{
\f
-unsigned short
+PHPZIPAPI unsigned short
_zip_read2(unsigned char **a)
{
unsigned short ret;
\f
-unsigned int
+PHPZIPAPI unsigned int
_zip_read4(unsigned char **a)
{
unsigned int ret;
\f
-void
+PHPZIPAPI void
_zip_entry_free(struct zip_entry *ze)
{
free(ze->ch_filename);
\f
-struct zip_entry *
+PHPZIPAPI struct zip_entry *
_zip_entry_new(struct zip *za)
{
struct zip_entry *ze;
\f
-void
+PHPZIPAPI void
_zip_error_clear(struct zip_error *err)
{
err->zip_err = ZIP_ER_OK;
\f
-void
+PHPZIPAPI void
_zip_error_copy(struct zip_error *dst, struct zip_error *src)
{
dst->zip_err = src->zip_err;
\f
-void
+PHPZIPAPI void
_zip_error_fini(struct zip_error *err)
{
free(err->str);
\f
-void
+PHPZIPAPI void
_zip_error_get(struct zip_error *err, int *zep, int *sep)
{
if (zep)
\f
-void
+PHPZIPAPI void
_zip_error_init(struct zip_error *err)
{
err->zip_err = ZIP_ER_OK;
\f
-void
+PHPZIPAPI void
_zip_error_set(struct zip_error *err, int ze, int se)
{
if (err) {
\f
-void
+PHPZIPAPI void
zip_error_clear(struct zip *za)
{
_zip_error_clear(&za->error);
\f
-void
+PHPZIPAPI void
zip_error_get(struct zip *za, int *zep, int *sep)
{
_zip_error_get(&za->error, zep, sep);
\f
-int
+PHPZIPAPI int
zip_error_get_sys_type(int ze)
{
if (ze < 0 || ze >= _zip_nerr_str)
\f
-const char *
+PHPZIPAPI const char *
_zip_error_strerror(struct zip_error *err)
{
const char *zs, *ss;
\f
-int
+PHPZIPAPI int
zip_error_to_str(char *buf, size_t len, int ze, int se)
{
const char *zs, *ss;
\f
-int
+PHPZIPAPI int
zip_fclose(struct zip_file *zf)
{
int i, ret;
\f
-void
+PHPZIPAPI void
zip_file_error_clear(struct zip_file *zf)
{
_zip_error_clear(&zf->error);
\f
-void
+PHPZIPAPI void
zip_file_error_get(struct zip_file *zf, int *zep, int *sep)
{
_zip_error_get(&zf->error, zep, sep);
On error, fills in za->error and returns 0.
*/
-unsigned int
+PHPZIPAPI unsigned int
_zip_file_get_offset(struct zip *za, int idx)
{
struct zip_dirent de;
\f
-const char *
+PHPZIPAPI const char *
zip_file_strerror(struct zip_file *zf)
{
return _zip_error_strerror(&zf->error);
\f
-struct zip_file *
+PHPZIPAPI struct zip_file *
zip_fopen(struct zip *za, const char *fname, int flags)
{
int idx;
\f
-struct zip_file *
+PHPZIPAPI struct zip_file *
zip_fopen_index(struct zip *za, int fileno, int flags)
{
int len, ret;
\f
-int
+PHPZIPAPI int
_zip_file_fillbuf(void *buf, size_t buflen, struct zip_file *zf)
{
int i, j;
\f
-ssize_t
+PHPZIPAPI ssize_t
zip_fread(struct zip_file *zf, void *outbuf, size_t toread)
{
int ret;
frees the space allocated to a zipfile struct, and closes the
corresponding file. */
-void
+PHPZIPAPI void
_zip_free(struct zip *za)
{
int i;
\f
-const char *
+PHPZIPAPI const char *
zip_get_archive_comment(struct zip *za, int *lenp, int flags)
{
if ((flags & ZIP_FL_UNCHANGED)
\f
-const char *
+PHPZIPAPI const char *
zip_get_file_comment(struct zip *za, int idx, int *lenp, int flags)
{
if (idx < 0 || idx >= za->nentry) {
\f
-const char *
+PHPZIPAPI const char *
zip_get_name(struct zip *za, int idx, int flags)
{
return _zip_get_name(za, idx, flags, &za->error);
\f
-const char *
+PHPZIPAPI const char *
_zip_get_name(struct zip *za, int idx, int flags, struct zip_error *error)
{
if (idx < 0 || idx >= za->nentry) {
\f
-int
+PHPZIPAPI int
zip_get_num_files(struct zip *za)
{
if (za == NULL)
\f
-void *
+PHPZIPAPI void *
_zip_memdup(const void *mem, size_t len, struct zip_error *error)
{
void *ret;
\f
-int
+PHPZIPAPI int
zip_name_locate(struct zip *za, const char *fname, int flags)
{
return _zip_name_locate(za, fname, flags, &za->error);
\f
-int
+PHPZIPAPI int
_zip_name_locate(struct zip *za, const char *fname, int flags,
struct zip_error *error)
{
_zip_error_set(error, ZIP_ER_INVAL, 0);
return -1;
}
-
- cmp = (flags & ZIP_FL_NOCASE) ? strcasecmp : strcmp;
+#ifdef PHP_WIN32
+ cmp = (flags & ZIP_FL_NOCASE) ? stricmp : strcmp;
+#else
+ cmp = (flags & ZIP_FL_NOCASE) ? strcasecmp : strcmp;
+#endif
n = (flags & ZIP_FL_UNCHANGED) ? za->cdir->nentry : za->nentry;
for (i=0; i<n; i++) {
creates a new zipfile struct, and sets the contents to zero; returns
the new struct. */
-struct zip *
+PHPZIPAPI struct zip *
_zip_new(struct zip_error *error)
{
struct zip *za;
\f
-struct zip *
+PHPZIPAPI struct zip *
zip_open(const char *fn, int flags, int *zep)
{
FILE *fp;
\f
-int
+PHPZIPAPI int
zip_rename(struct zip *za, int idx, const char *name)
{
if (idx >= za->nentry || idx < 0) {
\f
-int
+PHPZIPAPI int
zip_replace(struct zip *za, int idx, struct zip_source *source)
{
if (idx < 0 || idx >= za->nentry || source == NULL) {
\f
-int
+PHPZIPAPI int
_zip_replace(struct zip *za, int idx, const char *name,
struct zip_source *source)
{
\f
-int
+PHPZIPAPI int
zip_set_archive_comment(struct zip *za, const char *comment, int len)
{
char *tmpcom;
\f
-int
+PHPZIPAPI int
zip_set_file_comment(struct zip *za, int idx, const char *comment, int len)
{
char *tmpcom;
\f
-int
+PHPZIPAPI int
_zip_set_name(struct zip *za, int idx, const char *name)
{
char *s;
\f
-struct zip_source *
+PHPZIPAPI struct zip_source *
zip_source_buffer(struct zip *za, const void *data, off_t len, int freep)
{
struct read_data *f;
\f
-struct zip_source *
+PHPZIPAPI struct zip_source *
zip_source_file(struct zip *za, const char *fname, off_t start, off_t len)
{
struct zip_source *zs;
\f
-struct zip_source *
+PHPZIPAPI struct zip_source *
zip_source_filep(struct zip *za, FILE *file, off_t start, off_t len)
{
struct read_file *f;
\f
-void
+PHPZIPAPI void
zip_source_free(struct zip_source *source)
{
if (source == NULL)
\f
-struct zip_source *
+PHPZIPAPI struct zip_source *
zip_source_function(struct zip *za, zip_source_callback zcb, void *ud)
{
struct zip_source *zs;
\f
-struct zip_source *
+PHPZIPAPI struct zip_source *
zip_source_zip(struct zip *za, struct zip *srcza, int srcidx, int flags,
off_t start, off_t len)
{
\f
-int
+PHPZIPAPI int
zip_stat(struct zip *za, const char *fname, int flags, struct zip_stat *st)
{
int idx;
\f
-int
+PHPZIPAPI int
zip_stat_index(struct zip *za, int index, int flags, struct zip_stat *st)
{
const char *name;
\f
-void
+PHPZIPAPI void
zip_stat_init(struct zip_stat *st)
{
st->name = NULL;
\f
-const char *
+PHPZIPAPI const char *
zip_strerror(struct zip *za)
{
return _zip_error_strerror(&za->error);
\f
-int
+PHPZIPAPI int
zip_unchange(struct zip *za, int idx)
{
return _zip_unchange(za, idx, 0);
\f
-int
+PHPZIPAPI int
_zip_unchange(struct zip *za, int idx, int allow_duplicates)
{
int i;
\f
-int
+PHPZIPAPI int
zip_unchange_all(struct zip *za)
{
int ret, i;
\f
-int
+PHPZIPAPI int
zip_unchange_archive(struct zip *za)
{
free(za->ch_comment);
#include "zipint.h"
-void
+PHPZIPAPI void
_zip_unchange_data(struct zip_entry *ze)
{
if (ze->source) {
-
-#ifdef _MSC_VER
-
#define _POSIX_
#include <windows.h>
#include <io.h>
#ifndef mode_t
# define mode_t int
#endif
-#ifndef strcasecmp
-# define strcasecmp stricmp
-#endif
#ifndef snprintf
# define snprintf _snprintf
#endif
# define fseeko fseek
#endif
*/
-#endif
#include <zlib.h>
#include "zip.h"
+/* #defines that rename all zip_ functions and structs */
+#include "zipint_alias.h"
+
+BEGIN_EXTERN_C()
#ifndef HAVE_FSEEKO
#define fseeko(s, o, w) (fseek((s), (long int)(o), (w)))
#endif
\f
-void _zip_cdir_free(struct zip_cdir *);
-struct zip_cdir *_zip_cdir_new(int, struct zip_error *);
-int _zip_cdir_write(struct zip_cdir *, FILE *, struct zip_error *);
+PHPZIPAPI void _zip_cdir_free(struct zip_cdir *);
+PHPZIPAPI struct zip_cdir *_zip_cdir_new(int, struct zip_error *);
+PHPZIPAPI int _zip_cdir_write(struct zip_cdir *, FILE *, struct zip_error *);
-void _zip_dirent_finalize(struct zip_dirent *);
-void _zip_dirent_init(struct zip_dirent *);
-int _zip_dirent_read(struct zip_dirent *, FILE *,
+PHPZIPAPI void _zip_dirent_finalize(struct zip_dirent *);
+PHPZIPAPI void _zip_dirent_init(struct zip_dirent *);
+PHPZIPAPI int _zip_dirent_read(struct zip_dirent *, FILE *,
unsigned char **, unsigned int, int, struct zip_error *);
-int _zip_dirent_write(struct zip_dirent *, FILE *, int, struct zip_error *);
-
-void _zip_entry_free(struct zip_entry *);
-void _zip_entry_init(struct zip *, int);
-struct zip_entry *_zip_entry_new(struct zip *);
-
-void _zip_error_clear(struct zip_error *);
-void _zip_error_copy(struct zip_error *, struct zip_error *);
-void _zip_error_fini(struct zip_error *);
-void _zip_error_get(struct zip_error *, int *, int *);
-void _zip_error_init(struct zip_error *);
-void _zip_error_set(struct zip_error *, int, int);
-const char *_zip_error_strerror(struct zip_error *);
-
-int _zip_file_fillbuf(void *, size_t, struct zip_file *);
-unsigned int _zip_file_get_offset(struct zip *, int);
-
-void _zip_free(struct zip *);
-const char *_zip_get_name(struct zip *, int, int, struct zip_error *);
-int _zip_local_header_read(struct zip *, int);
-void *_zip_memdup(const void *, size_t, struct zip_error *);
-int _zip_name_locate(struct zip *, const char *, int, struct zip_error *);
-struct zip *_zip_new(struct zip_error *);
-unsigned short _zip_read2(unsigned char **);
-unsigned int _zip_read4(unsigned char **);
-int _zip_replace(struct zip *, int, const char *, struct zip_source *);
-int _zip_set_name(struct zip *, int, const char *);
-int _zip_unchange(struct zip *, int, int);
-void _zip_unchange_data(struct zip_entry *);
-
+PHPZIPAPI int _zip_dirent_write(struct zip_dirent *, FILE *, int, struct zip_error *);
+
+PHPZIPAPI void _zip_entry_free(struct zip_entry *);
+PHPZIPAPI void _zip_entry_init(struct zip *, int);
+PHPZIPAPI struct zip_entry *_zip_entry_new(struct zip *);
+
+PHPZIPAPI void _zip_error_clear(struct zip_error *);
+PHPZIPAPI void _zip_error_copy(struct zip_error *, struct zip_error *);
+PHPZIPAPI void _zip_error_fini(struct zip_error *);
+PHPZIPAPI void _zip_error_get(struct zip_error *, int *, int *);
+PHPZIPAPI void _zip_error_init(struct zip_error *);
+PHPZIPAPI void _zip_error_set(struct zip_error *, int, int);
+PHPZIPAPI const char *_zip_error_strerror(struct zip_error *);
+
+PHPZIPAPI int _zip_file_fillbuf(void *, size_t, struct zip_file *);
+PHPZIPAPI unsigned int _zip_file_get_offset(struct zip *, int);
+
+PHPZIPAPI void _zip_free(struct zip *);
+PHPZIPAPI const char *_zip_get_name(struct zip *, int, int, struct zip_error *);
+PHPZIPAPI int _zip_local_header_read(struct zip *, int);
+PHPZIPAPI void *_zip_memdup(const void *, size_t, struct zip_error *);
+PHPZIPAPI int _zip_name_locate(struct zip *, const char *, int, struct zip_error *);
+PHPZIPAPI struct zip *_zip_new(struct zip_error *);
+PHPZIPAPI unsigned short _zip_read2(unsigned char **);
+PHPZIPAPI unsigned int _zip_read4(unsigned char **);
+PHPZIPAPI int _zip_replace(struct zip *, int, const char *, struct zip_source *);
+PHPZIPAPI int _zip_set_name(struct zip *, int, const char *);
+PHPZIPAPI int _zip_unchange(struct zip *, int, int);
+PHPZIPAPI void _zip_unchange_data(struct zip_entry *);
+
+END_EXTERN_C();
#endif /* zipint.h */
#include "lib/zip.h"
#include "lib/zipint.h"
-static PHP_FUNCTION(zip_open);
-static PHP_FUNCTION(zip_read);
-static PHP_FUNCTION(zip_close);
-static PHP_FUNCTION(zip_entry_read);
-static PHP_FUNCTION(zip_entry_filesize);
-static PHP_FUNCTION(zip_entry_name);
-static PHP_FUNCTION(zip_entry_compressedsize);
-static PHP_FUNCTION(zip_entry_compressionmethod);
-static PHP_FUNCTION(zip_entry_open);
-static PHP_FUNCTION(zip_entry_close);
+/* zip_open is a macro for renaming libzip zipopen, so we need to use PHP_NAMED_FUNCTION */
+static PHP_NAMED_FUNCTION(zif_zip_open);
+static PHP_NAMED_FUNCTION(zif_zip_read);
+static PHP_NAMED_FUNCTION(zif_zip_close);
+static PHP_NAMED_FUNCTION(zif_zip_entry_read);
+static PHP_NAMED_FUNCTION(zif_zip_entry_filesize);
+static PHP_NAMED_FUNCTION(zif_zip_entry_name);
+static PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize);
+static PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod);
+static PHP_NAMED_FUNCTION(zif_zip_entry_open);
+static PHP_NAMED_FUNCTION(zif_zip_entry_close);
/* {{{ Resource le */
static int le_zip_dir;
/* {{{ zend_function_entry */
static zend_function_entry zip_functions[] = {
- PHP_FE(zip_open, NULL)
- PHP_FE(zip_close, NULL)
- PHP_FE(zip_read, NULL)
+ ZEND_RAW_FENTRY("zip_open", zif_zip_open, NULL, 0)
+ ZEND_RAW_FENTRY("zip_close", zif_zip_close, NULL, 0)
+ ZEND_RAW_FENTRY("zip_read", zif_zip_read, NULL, 0)
PHP_FE(zip_entry_open, NULL)
PHP_FE(zip_entry_close, NULL)
PHP_FE(zip_entry_read, NULL)
/* }}}*/
+/* reset macro */
+#undef zip
/* {{{ function prototypes */
static PHP_MINIT_FUNCTION(zip);
static PHP_MSHUTDOWN_FUNCTION(zip);
#ifdef COMPILE_DL_ZIP
ZEND_GET_MODULE(zip)
#endif
+/* set macro */
+#define zip php_ziplib__zip
/* {{{ proto resource zip_open(string filename)
Create new zip using source uri for output */
-static PHP_FUNCTION(zip_open)
+static PHP_NAMED_FUNCTION(zif_zip_open)
{
char *filename;
int filename_len;
/* {{{ proto void zip_close(resource zip)
Close a Zip archive */
-static PHP_FUNCTION(zip_close)
+static PHP_NAMED_FUNCTION(zif_zip_close)
{
zval * zip;
zip_rsrc *z_rsrc = NULL;
/* {{{ proto resource zip_read(resource zip)
Returns the next file in the archive */
-static PHP_FUNCTION(zip_read)
+static PHP_NAMED_FUNCTION(zif_zip_read)
{
zval *zip_dp;
zip_read_rsrc *zr_rsrc;
/* {{{ proto bool zip_entry_open(resource zip_dp, resource zip_entry [, string mode])
Open a Zip File, pointed by the resource entry */
/* Dummy function to follow the old API */
-static PHP_FUNCTION(zip_entry_open)
+static PHP_NAMED_FUNCTION(zif_zip_entry_open)
{
zval * zip;
zval * zip_entry;
/* {{{ proto void zip_entry_close(resource zip_ent)
Close a zip entry */
/* another dummy function to fit in the old api*/
-static PHP_FUNCTION(zip_entry_close)
+static PHP_NAMED_FUNCTION(zif_zip_entry_close)
{
zval * zip_entry;
zip_read_rsrc * zr_rsrc;
/* {{{ proto mixed zip_entry_read(resource zip_entry [, int len])
Read from an open directory entry */
-static PHP_FUNCTION(zip_entry_read)
+static PHP_NAMED_FUNCTION(zif_zip_entry_read)
{
zval * zip_entry;
long len = 0;
/* {{{ proto string zip_entry_name(resource zip_entry)
Return the name given a ZZip entry */
-static PHP_FUNCTION(zip_entry_name)
+static PHP_NAMED_FUNCTION(zif_zip_entry_name)
{
php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
}
/* {{{ proto int zip_entry_compressedsize(resource zip_entry)
Return the compressed size of a ZZip entry */
-static PHP_FUNCTION(zip_entry_compressedsize)
+static PHP_NAMED_FUNCTION(zif_zip_entry_compressedsize)
{
php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
}
/* {{{ proto int zip_entry_filesize(resource zip_entry)
Return the actual filesize of a ZZip entry */
-static PHP_FUNCTION(zip_entry_filesize)
+static PHP_NAMED_FUNCTION(zif_zip_entry_filesize)
{
php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 2);
}
/* {{{ proto string zip_entry_compressionmethod(resource zip_entry)
Return a string containing the compression method used on a particular entry */
-static PHP_FUNCTION(zip_entry_compressionmethod)
+static PHP_NAMED_FUNCTION(zif_zip_entry_compressionmethod)
{
php_zip_entry_get_info(INTERNAL_FUNCTION_PARAM_PASSTHRU, 3);
}
/* }}} */
/* {{{ PHP_MINIT_FUNCTION */
+#undef zip
static PHP_MINIT_FUNCTION(zip)
+#define zip php_ziplib__zip
{
zend_class_entry ce;
/* {{{ PHP_MSHUTDOWN_FUNCTION
*/
+#undef zip
static PHP_MSHUTDOWN_FUNCTION(zip)
+#define zip php_ziplib__zip
{
zend_hash_destroy(&zip_prop_handlers);
php_unregister_url_stream_wrapper("zip" TSRMLS_CC);
/* {{{ PHP_MINFO_FUNCTION
*/
+#undef zip
static PHP_MINFO_FUNCTION(zip)
{
php_info_print_table_start();