Commit: 9e5c10e487db678be9c37d729de4cda1f1888d12
Author: Anatol Belski <a...@php.net> Thu, 28 Nov 2013 19:02:34 +0100
Parents: d8fbc23002b4a6edf5b0684f4a1aa560925cf653
Branches: str_size_and_int64
Link:
http://git.php.net/?p=php-src.git;a=commitdiff;h=9e5c10e487db678be9c37d729de4cda1f1888d12
Log:
fixed ext/zip
Changed paths:
M ext/zip/php_zip.c
M ext/zip/php_zip.h
M ext/zip/zip_stream.c
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c
index cd1d7cd..b428f21 100644
--- a/ext/zip/php_zip.c
+++ b/ext/zip/php_zip.c
@@ -52,11 +52,11 @@ static PHP_NAMED_FUNCTION(zif_zip_entry_close);
#endif
#if PHP_VERSION_ID < 50400
-#define ARG_PATH "s"
+#define ARG_PATH "S"
#define KEY_ARG_DC
#define KEY_ARG_CC
#else
-#define ARG_PATH "p"
+#define ARG_PATH "P"
#define KEY_ARG_DC , const zend_literal *key
#define KEY_ARG_CC , key
#endif
@@ -101,7 +101,7 @@ static int le_zip_entry;
if (zip_set_file_comment(intern, index, NULL, 0) < 0) { \
RETURN_FALSE; \
} \
- } else if (zip_set_file_comment(intern, index, comment, comment_len) <
0) { \
+ } else if (zip_set_file_comment(intern, index, comment,
(int)comment_len) < 0) { \
RETURN_FALSE; \
} \
RETURN_TRUE;
@@ -151,13 +151,15 @@ static char * php_zip_make_relative_path(char *path, int
path_len) /* {{{ */
#ifdef PHP_ZIP_USE_OO
/* {{{ php_zip_extract_file */
-static int php_zip_extract_file(struct zip * za, char *dest, char *file, int
file_len TSRMLS_DC)
+static int php_zip_extract_file(struct zip * za, char *dest, char *file,
zend_str_size_int file_len TSRMLS_DC)
{
php_stream_statbuf ssb;
struct zip_file *zf;
struct zip_stat sb;
char b[8192];
- int n, len, ret;
+ php_int_t n;
+ zend_str_size_int len;
+ int ret;
php_stream *stream;
char *fullpath;
char *file_dirname_fullpath;
@@ -346,12 +348,12 @@ static int php_zip_add_file(struct zip *za, const char
*filename, size_t filenam
}
/* }}} */
-static int php_zip_parse_options(zval *options, long *remove_all_path,
- char **remove_path, int *remove_path_len, char **add_path, int
*add_path_len TSRMLS_DC) /* {{{ */
+static int php_zip_parse_options(zval *options, php_int_t *remove_all_path,
+ char **remove_path, zend_str_size_int *remove_path_len, char
**add_path, zend_str_size_int *add_path_len TSRMLS_DC) /* {{{ */
{
zval **option;
if (zend_hash_find(HASH_OF(options), "remove_all_path",
sizeof("remove_all_path"), (void **)&option) == SUCCESS) {
- long opt;
+ php_int_t opt;
if (Z_TYPE_PP(option) != IS_LONG) {
zval tmp = **option;
zval_copy_ctor(&tmp);
@@ -370,17 +372,17 @@ static int php_zip_parse_options(zval *options, long
*remove_all_path,
return -1;
}
- if (Z_STRLEN_PP(option) < 1) {
+ if (Z_STRSIZE_PP(option) < 1) {
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Empty
string given as remove_path option");
return -1;
}
- if (Z_STRLEN_PP(option) >= MAXPATHLEN) {
+ if (Z_STRSIZE_PP(option) >= MAXPATHLEN) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,
"remove_path string is too long (max: %i, %i given)",
- MAXPATHLEN - 1,
Z_STRLEN_PP(option));
+ MAXPATHLEN - 1,
Z_STRSIZE_PP(option));
return -1;
}
- *remove_path_len = Z_STRLEN_PP(option);
+ *remove_path_len = Z_STRSIZE_PP(option);
*remove_path = Z_STRVAL_PP(option);
}
@@ -390,17 +392,17 @@ static int php_zip_parse_options(zval *options, long
*remove_all_path,
return -1;
}
- if (Z_STRLEN_PP(option) < 1) {
+ if (Z_STRSIZE_PP(option) < 1) {
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Empty
string given as the add_path option");
return -1;
}
- if (Z_STRLEN_PP(option) >= MAXPATHLEN) {
+ if (Z_STRSIZE_PP(option) >= MAXPATHLEN) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "add_path
string too long (max: %i, %i given)",
- MAXPATHLEN - 1,
Z_STRLEN_PP(option));
+ MAXPATHLEN - 1,
Z_STRSIZE_PP(option));
return -1;
}
- *add_path_len = Z_STRLEN_PP(option);
+ *add_path_len = Z_STRSIZE_PP(option);
*add_path = Z_STRVAL_PP(option);
}
return 1;
@@ -476,10 +478,10 @@ static char * php_zipobj_get_filename(ze_zip_object *obj
TSRMLS_DC) /* {{{ */
}
/* }}} */
-static char * php_zipobj_get_zip_comment(struct zip *za, int *len TSRMLS_DC)
/* {{{ */
+static char * php_zipobj_get_zip_comment(struct zip *za, zend_str_size_int
*len TSRMLS_DC) /* {{{ */
{
if (za) {
- return (char *)zip_get_archive_comment(za, len, 0);
+ return (char *)zip_get_archive_comment(za, (int *)len, 0);
}
return NULL;
}
@@ -517,11 +519,11 @@ static char * php_zipobj_get_zip_comment(struct zip *za,
int *len TSRMLS_DC) /*
#endif /* }}} */
-int php_zip_glob(char *pattern, int pattern_len, long flags, zval
*return_value TSRMLS_DC) /* {{{ */
+int php_zip_glob(char *pattern, zend_str_size_int pattern_len, php_int_t
flags, zval *return_value TSRMLS_DC) /* {{{ */
{
#ifdef HAVE_GLOB
char cwd[MAXPATHLEN];
- int cwd_skip = 0;
+ zend_str_size_int cwd_skip = 0;
#ifdef ZTS
char work_pattern[MAXPATHLEN];
char *result;
@@ -601,7 +603,7 @@ int php_zip_glob(char *pattern, int pattern_len, long
flags, zval *return_value
* able to filter directories out.
*/
if (flags & GLOB_ONLYDIR) {
- struct stat s;
+ zend_stat_t s;
if (0 != VCWD_STAT(globbuf.gl_pathv[n], &s)) {
continue;
@@ -623,11 +625,11 @@ int php_zip_glob(char *pattern, int pattern_len, long
flags, zval *return_value
}
/* }}} */
-int php_zip_pcre(char *regexp, int regexp_len, char *path, int path_len, zval
*return_value TSRMLS_DC) /* {{{ */
+int php_zip_pcre(char *regexp, zend_str_size_int regexp_len, char *path,
zend_str_size_int path_len, zval *return_value TSRMLS_DC) /* {{{ */
{
#ifdef ZTS
char cwd[MAXPATHLEN];
- int cwd_skip = 0;
+ zend_str_size_int cwd_skip = 0;
char work_path[MAXPATHLEN];
char *result;
#endif
@@ -673,11 +675,11 @@ int php_zip_pcre(char *regexp, int regexp_len, char
*path, int path_len, zval *r
/* only the files, directories are ignored */
for (i = 0; i < files_cnt; i++) {
- struct stat s;
+ zend_stat_t s;
char fullpath[MAXPATHLEN];
int ovector[3];
int matches;
- int namelist_len = strlen(namelist[i]);
+ zend_str_size_int namelist_len = strlen(namelist[i]);
if ((namelist_len == 1 && namelist[i][0] == '.') ||
@@ -797,7 +799,7 @@ static zend_object_handlers zip_object_handlers;
static HashTable zip_prop_handlers;
typedef int (*zip_read_int_t)(struct zip *za TSRMLS_DC);
-typedef char *(*zip_read_const_char_t)(struct zip *za, int *len TSRMLS_DC);
+typedef char *(*zip_read_const_char_t)(struct zip *za, zend_str_size_int *len
TSRMLS_DC);
typedef char *(*zip_read_const_char_from_ze_t)(ze_zip_object *obj TSRMLS_DC);
typedef struct _zip_prop_handler {
@@ -827,7 +829,7 @@ static int php_zip_property_reader(ze_zip_object *obj,
zip_prop_handler *hnd, zv
{
const char *retchar = NULL;
int retint = 0;
- int len = 0;
+ zend_str_size_int len = 0;
if (obj && obj->za != NULL) {
if (hnd->read_const_char_func) {
@@ -900,10 +902,10 @@ static zval **php_zip_get_property_ptr_ptr(zval *object,
zval *member TYPE_ARG_D
if (obj->prop_handler != NULL) {
#if PHP_VERSION_ID >= 50400
if (key) {
- ret = zend_hash_quick_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRLEN_P(member)+1, key->hash_value, (void **) &hnd);
+ ret = zend_hash_quick_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRSIZE_P(member)+1, key->hash_value, (void **) &hnd);
} else
#endif
- ret = zend_hash_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRLEN_P(member)+1, (void **) &hnd);
+ ret = zend_hash_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRSIZE_P(member)+1, (void **) &hnd);
}
@@ -944,10 +946,10 @@ static zval* php_zip_read_property(zval *object, zval
*member, int type KEY_ARG_
if (obj->prop_handler != NULL) {
#if PHP_VERSION_ID >= 50400
if (key) {
- ret = zend_hash_quick_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRLEN_P(member)+1, key->hash_value, (void **) &hnd);
+ ret = zend_hash_quick_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRSIZE_P(member)+1, key->hash_value, (void **) &hnd);
} else
#endif
- ret = zend_hash_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRLEN_P(member)+1, (void **) &hnd);
+ ret = zend_hash_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRSIZE_P(member)+1, (void **) &hnd);
}
if (ret == SUCCESS) {
@@ -994,10 +996,10 @@ static int php_zip_has_property(zval *object, zval
*member, int type KEY_ARG_DC
if (obj->prop_handler != NULL) {
#if PHP_VERSION_ID >= 50400
if (key) {
- ret = zend_hash_quick_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRLEN_P(member)+1, key->hash_value, (void **) &hnd);
+ ret = zend_hash_quick_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRSIZE_P(member)+1, key->hash_value, (void **) &hnd);
} else
#endif
- ret = zend_hash_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRLEN_P(member)+1, (void **) &hnd);
+ ret = zend_hash_find(obj->prop_handler,
Z_STRVAL_P(member), Z_STRSIZE_P(member)+1, (void **) &hnd);
}
if (ret == SUCCESS) {
@@ -1037,9 +1039,9 @@ static HashTable *php_zip_get_properties(zval *object
TSRMLS_DC)/* {{{ */
zval *val;
int ret;
char *key;
- uint key_len;
+ zend_str_size_uint key_len;
HashPosition pos;
- ulong num_key;
+ php_uint_t num_key;
obj = (ze_zip_object *)zend_objects_get_address(object TSRMLS_CC);
props = zend_std_get_properties(object TSRMLS_CC);
@@ -1227,7 +1229,7 @@ Create new zip using source uri for output */
static PHP_NAMED_FUNCTION(zif_zip_open)
{
char *filename;
- int filename_len;
+ zend_str_size_int filename_len;
char resolved_path[MAXPATHLEN + 1];
zip_rsrc *rsrc_int;
int err = 0;
@@ -1332,11 +1334,11 @@ static PHP_NAMED_FUNCTION(zif_zip_entry_open)
zval * zip;
zval * zip_entry;
char *mode = NULL;
- int mode_len = 0;
+ zend_str_size_int mode_len = 0;
zip_read_rsrc * zr_rsrc;
zip_rsrc *z_rsrc;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|s", &zip,
&zip_entry, &mode, &mode_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|S", &zip,
&zip_entry, &mode, &mode_len) == FAILURE) {
return;
}
@@ -1373,12 +1375,12 @@ static PHP_NAMED_FUNCTION(zif_zip_entry_close)
static PHP_NAMED_FUNCTION(zif_zip_entry_read)
{
zval * zip_entry;
- long len = 0;
+ php_int_t len = 0;
zip_read_rsrc * zr_rsrc;
char *buffer;
- int n = 0;
+ php_int_t n = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &zip_entry,
&len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|i", &zip_entry,
&len) == FAILURE) {
return;
}
@@ -1424,10 +1426,10 @@ static void
php_zip_entry_get_info(INTERNAL_FUNCTION_PARAMETERS, int opt) /* {{{
RETURN_STRING((char *)zr_rsrc->sb.name, 1);
break;
case 1:
- RETURN_LONG((long) (zr_rsrc->sb.comp_size));
+ RETURN_LONG((php_int_t) (zr_rsrc->sb.comp_size));
break;
case 2:
- RETURN_LONG((long) (zr_rsrc->sb.size));
+ RETURN_LONG((php_int_t) (zr_rsrc->sb.size));
break;
case 3:
switch (zr_rsrc->sb.comp_method) {
@@ -1461,7 +1463,7 @@ static void
php_zip_entry_get_info(INTERNAL_FUNCTION_PARAMETERS, int opt) /* {{{
default:
RETURN_FALSE;
}
- RETURN_LONG((long) (zr_rsrc->sb.comp_method));
+ RETURN_LONG((php_int_t) (zr_rsrc->sb.comp_method));
break;
}
@@ -1507,15 +1509,15 @@ static ZIPARCHIVE_METHOD(open)
{
struct zip *intern;
char *filename;
- int filename_len;
+ zend_str_size_int filename_len;
int err = 0;
- long flags = 0;
+ php_int_t flags = 0;
char resolved_path[MAXPATHLEN];
zval *this = getThis();
ze_zip_object *ze_obj = NULL;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|l",
&filename, &filename_len, &flags) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|i",
&filename, &filename_len, &flags) == FAILURE) {
return;
}
@@ -1550,9 +1552,9 @@ static ZIPARCHIVE_METHOD(open)
ze_obj->filename = NULL;
}
- intern = zip_open(resolved_path, flags, &err);
+ intern = zip_open(resolved_path, (int)flags, &err);
if (!intern || err) {
- RETURN_LONG((long)err);
+ RETURN_LONG((php_int_t)err);
}
ze_obj->filename = estrdup(resolved_path);
ze_obj->filename_len = filename_len;
@@ -1568,7 +1570,7 @@ static ZIPARCHIVE_METHOD(setPassword)
struct zip *intern;
zval *this = getThis();
char *password;
- int password_len;
+ zend_str_size_int password_len;
if (!this) {
RETURN_FALSE;
@@ -1576,7 +1578,7 @@ static ZIPARCHIVE_METHOD(setPassword)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &password,
&password_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &password,
&password_len) == FAILURE) {
return;
}
@@ -1651,7 +1653,7 @@ static ZIPARCHIVE_METHOD(addEmptyDir)
struct zip *intern;
zval *this = getThis();
char *dirname;
- int dirname_len;
+ zend_str_size_int dirname_len;
int idx;
struct zip_stat sb;
char *s;
@@ -1662,7 +1664,7 @@ static ZIPARCHIVE_METHOD(addEmptyDir)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S",
&dirname, &dirname_len) == FAILURE) {
return;
}
@@ -1705,9 +1707,9 @@ static void
php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
char *path = NULL;
char *remove_path = NULL;
char *add_path = NULL;
- int pattern_len, add_path_len, remove_path_len = 0, path_len = 0;
- long remove_all_path = 0;
- long flags = 0;
+ zend_str_size_int pattern_len, add_path_len, remove_path_len = 0,
path_len = 0;
+ php_int_t remove_all_path = 0;
+ php_int_t flags = 0;
zval *options = NULL;
int found;
@@ -1718,12 +1720,12 @@ static void
php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
ZIP_FROM_OBJECT(intern, this);
/* 1 == glob, 2==pcre */
if (type == 1) {
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH
"|la",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH
"|ia",
&pattern, &pattern_len, &flags,
&options) == FAILURE) {
return;
}
} else {
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH
"|sa",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH
"|Sa",
&pattern, &pattern_len, &path,
&path_len, &options) == FAILURE) {
return;
}
@@ -1761,15 +1763,15 @@ static void
php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
if (zend_hash_index_find(Z_ARRVAL_P(return_value), i,
(void **) &zval_file) == SUCCESS) {
if (remove_all_path) {
- php_basename(Z_STRVAL_PP(zval_file),
Z_STRLEN_PP(zval_file), NULL, 0,
+ php_basename(Z_STRVAL_PP(zval_file),
Z_STRSIZE_PP(zval_file), NULL, 0,
&basename, (size_t *)&file_stripped_len TSRMLS_CC);
file_stripped = basename;
} else if (remove_path &&
strstr(Z_STRVAL_PP(zval_file), remove_path) != NULL) {
file_stripped = Z_STRVAL_PP(zval_file)
+ remove_path_len + 1;
- file_stripped_len =
Z_STRLEN_PP(zval_file) - remove_path_len - 1;
+ file_stripped_len =
Z_STRSIZE_PP(zval_file) - remove_path_len - 1;
} else {
file_stripped = Z_STRVAL_PP(zval_file);
- file_stripped_len =
Z_STRLEN_PP(zval_file);
+ file_stripped_len =
Z_STRSIZE_PP(zval_file);
}
if (add_path) {
@@ -1785,13 +1787,13 @@ static void
php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
entry_name_len = strlen(entry_name);
} else {
entry_name = Z_STRVAL_PP(zval_file);
- entry_name_len = Z_STRLEN_PP(zval_file);
+ entry_name_len =
Z_STRSIZE_PP(zval_file);
}
if (basename) {
efree(basename);
basename = NULL;
}
- if (php_zip_add_file(intern,
Z_STRVAL_PP(zval_file), Z_STRLEN_PP(zval_file),
+ if (php_zip_add_file(intern,
Z_STRVAL_PP(zval_file), Z_STRSIZE_PP(zval_file),
entry_name, entry_name_len, 0, 0
TSRMLS_CC) < 0) {
zval_dtor(return_value);
RETURN_FALSE;
@@ -1825,10 +1827,10 @@ static ZIPARCHIVE_METHOD(addFile)
struct zip *intern;
zval *this = getThis();
char *filename;
- int filename_len;
+ zend_str_size_int filename_len;
char *entry_name = NULL;
- int entry_name_len = 0;
- long offset_start = 0, offset_len = 0;
+ zend_str_size_int entry_name_len = 0;
+ php_int_t offset_start = 0, offset_len = 0;
if (!this) {
RETURN_FALSE;
@@ -1836,7 +1838,7 @@ static ZIPARCHIVE_METHOD(addFile)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|sll",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|Sii",
&filename, &filename_len, &entry_name, &entry_name_len,
&offset_start, &offset_len) == FAILURE) {
return;
}
@@ -1867,11 +1869,11 @@ static ZIPARCHIVE_METHOD(addFromString)
struct zip *intern;
zval *this = getThis();
char *buffer, *name;
- int buffer_len, name_len;
+ zend_str_size_int buffer_len, name_len;
ze_zip_object *ze_obj;
struct zip_source *zs;
int pos = 0;
- int cur_idx;
+ php_int_t cur_idx;
if (!this) {
RETURN_FALSE;
@@ -1879,7 +1881,7 @@ static ZIPARCHIVE_METHOD(addFromString)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS",
&name, &name_len, &buffer, &buffer_len) == FAILURE) {
return;
}
@@ -1928,8 +1930,8 @@ static ZIPARCHIVE_METHOD(statName)
struct zip *intern;
zval *this = getThis();
char *name;
- int name_len;
- long flags = 0;
+ zend_str_size_int name_len;
+ php_int_t flags = 0;
struct zip_stat sb;
if (!this) {
@@ -1938,12 +1940,12 @@ static ZIPARCHIVE_METHOD(statName)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|l",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|i",
&name, &name_len, &flags) == FAILURE) {
return;
}
- PHP_ZIP_STAT_PATH(intern, name, name_len, flags, sb);
+ PHP_ZIP_STAT_PATH(intern, name, name_len, (zip_flags_t)flags, sb);
RETURN_SB(&sb);
}
@@ -1955,7 +1957,7 @@ static ZIPARCHIVE_METHOD(statIndex)
{
struct zip *intern;
zval *this = getThis();
- long index, flags = 0;
+ php_int_t index, flags = 0;
struct zip_stat sb;
@@ -1965,12 +1967,12 @@ static ZIPARCHIVE_METHOD(statIndex)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|l",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i|i",
&index, &flags) == FAILURE) {
return;
}
- if (zip_stat_index(intern, index, flags, &sb) != 0) {
+ if (zip_stat_index(intern, index, (zip_flags_t)flags, &sb) != 0) {
RETURN_FALSE;
}
RETURN_SB(&sb);
@@ -1984,9 +1986,9 @@ static ZIPARCHIVE_METHOD(locateName)
struct zip *intern;
zval *this = getThis();
char *name;
- int name_len;
- long flags = 0;
- long idx = -1;
+ zend_str_size_int name_len;
+ php_int_t flags = 0;
+ php_int_t idx = -1;
if (!this) {
RETURN_FALSE;
@@ -1994,7 +1996,7 @@ static ZIPARCHIVE_METHOD(locateName)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|l",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH "|i",
&name, &name_len, &flags) == FAILURE) {
return;
}
@@ -2002,7 +2004,7 @@ static ZIPARCHIVE_METHOD(locateName)
RETURN_FALSE;
}
- idx = (long)zip_name_locate(intern, (const char *)name, flags);
+ idx = (php_int_t)zip_name_locate(intern, (const char *)name,
(zip_flags_t)flags);
if (idx >= 0) {
RETURN_LONG(idx);
@@ -2019,7 +2021,7 @@ static ZIPARCHIVE_METHOD(getNameIndex)
struct zip *intern;
zval *this = getThis();
const char *name;
- long flags = 0, index = 0;
+ php_int_t flags = 0, index = 0;
if (!this) {
RETURN_FALSE;
@@ -2027,12 +2029,12 @@ static ZIPARCHIVE_METHOD(getNameIndex)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|l",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i|i",
&index, &flags) == FAILURE) {
return;
}
- name = zip_get_name(intern, (int) index, flags);
+ name = zip_get_name(intern, (int)index, (zip_flags_t)flags);
if (name) {
RETVAL_STRING((char *)name, 1);
@@ -2048,7 +2050,7 @@ static ZIPARCHIVE_METHOD(setArchiveComment)
{
struct zip *intern;
zval *this = getThis();
- int comment_len;
+ zend_str_size_int comment_len;
char * comment;
if (!this) {
@@ -2057,7 +2059,7 @@ static ZIPARCHIVE_METHOD(setArchiveComment)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &comment,
&comment_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &comment,
&comment_len) == FAILURE) {
return;
}
if (zip_set_archive_comment(intern, (const char *)comment,
(int)comment_len)) {
@@ -2074,7 +2076,7 @@ static ZIPARCHIVE_METHOD(getArchiveComment)
{
struct zip *intern;
zval *this = getThis();
- long flags = 0;
+ php_int_t flags = 0;
const char * comment;
int comment_len = 0;
@@ -2084,7 +2086,7 @@ static ZIPARCHIVE_METHOD(getArchiveComment)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &flags) ==
FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|i", &flags) ==
FAILURE) {
return;
}
@@ -2092,7 +2094,7 @@ static ZIPARCHIVE_METHOD(getArchiveComment)
if(comment==NULL) {
RETURN_FALSE;
}
- RETURN_STRINGL((char *)comment, (long)comment_len, 1);
+ RETURN_STRINGL((char *)comment, (php_int_t)comment_len, 1);
}
/* }}} */
@@ -2102,9 +2104,9 @@ static ZIPARCHIVE_METHOD(setCommentName)
{
struct zip *intern;
zval *this = getThis();
- int comment_len, name_len;
+ zend_str_size_int comment_len, name_len;
char * comment, *name;
- int idx;
+ php_int_t idx;
if (!this) {
RETURN_FALSE;
@@ -2112,7 +2114,7 @@ static ZIPARCHIVE_METHOD(setCommentName)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS",
&name, &name_len, &comment, &comment_len) == FAILURE) {
return;
}
@@ -2135,8 +2137,8 @@ static ZIPARCHIVE_METHOD(setCommentIndex)
{
struct zip *intern;
zval *this = getThis();
- long index;
- int comment_len;
+ php_int_t index;
+ zend_str_size_int comment_len;
char * comment;
struct zip_stat sb;
@@ -2146,7 +2148,7 @@ static ZIPARCHIVE_METHOD(setCommentIndex)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iS",
&index, &comment, &comment_len) == FAILURE) {
return;
}
@@ -2162,8 +2164,9 @@ static ZIPARCHIVE_METHOD(getCommentName)
{
struct zip *intern;
zval *this = getThis();
- int name_len, idx;
- long flags = 0;
+ zend_str_size_int name_len;
+ zip_int64_t idx;
+ php_int_t flags = 0;
int comment_len = 0;
const char * comment;
char *name;
@@ -2174,7 +2177,7 @@ static ZIPARCHIVE_METHOD(getCommentName)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|i",
&name, &name_len, &flags) == FAILURE) {
return;
}
@@ -2189,7 +2192,7 @@ static ZIPARCHIVE_METHOD(getCommentName)
}
comment = zip_get_file_comment(intern, idx, &comment_len, (int)flags);
- RETURN_STRINGL((char *)comment, (long)comment_len, 1);
+ RETURN_STRINGL((char *)comment, (php_int_t)comment_len, 1);
}
/* }}} */
@@ -2199,7 +2202,7 @@ static ZIPARCHIVE_METHOD(getCommentIndex)
{
struct zip *intern;
zval *this = getThis();
- long index, flags = 0;
+ php_int_t index, flags = 0;
const char * comment;
int comment_len = 0;
struct zip_stat sb;
@@ -2210,14 +2213,14 @@ static ZIPARCHIVE_METHOD(getCommentIndex)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|l",
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i|i",
&index, &flags) == FAILURE) {
return;
}
PHP_ZIP_STAT_INDEX(intern, index, 0, sb);
comment = zip_get_file_comment(intern, index, &comment_len, (int)flags);
- RETURN_STRINGL((char *)comment, (long)comment_len, 1);
+ RETURN_STRINGL((char *)comment, (php_int_t)comment_len, 1);
}
/* }}} */
@@ -2227,7 +2230,7 @@ static ZIPARCHIVE_METHOD(deleteIndex)
{
struct zip *intern;
zval *this = getThis();
- long index;
+ php_int_t index;
if (!this) {
RETURN_FALSE;
@@ -2235,7 +2238,7 @@ static ZIPARCHIVE_METHOD(deleteIndex)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index) ==
FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &index) ==
FAILURE) {
return;
}
@@ -2257,7 +2260,7 @@ static ZIPARCHIVE_METHOD(deleteName)
{
struct zip *intern;
zval *this = getThis();
- int name_len;
+ zend_str_size_int name_len;
char *name;
struct zip_stat sb;
@@ -2267,7 +2270,7 @@ static ZIPARCHIVE_METHOD(deleteName)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name,
&name_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &name,
&name_len) == FAILURE) {
return;
}
if (name_len < 1) {
@@ -2290,8 +2293,8 @@ static ZIPARCHIVE_METHOD(renameIndex)
zval *this = getThis();
char *new_name;
- int new_name_len;
- long index;
+ zend_str_size_int new_name_len;
+ php_int_t index;
if (!this) {
RETURN_FALSE;
@@ -2299,7 +2302,7 @@ static ZIPARCHIVE_METHOD(renameIndex)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls", &index,
&new_name, &new_name_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iS", &index,
&new_name, &new_name_len) == FAILURE) {
return;
}
@@ -2326,7 +2329,7 @@ static ZIPARCHIVE_METHOD(renameName)
zval *this = getThis();
struct zip_stat sb;
char *name, *new_name;
- int name_len, new_name_len;
+ zend_str_size_int name_len, new_name_len;
if (!this) {
RETURN_FALSE;
@@ -2334,7 +2337,7 @@ static ZIPARCHIVE_METHOD(renameName)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &name,
&name_len, &new_name, &new_name_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS", &name,
&name_len, &new_name, &new_name_len) == FAILURE) {
return;
}
@@ -2358,7 +2361,7 @@ static ZIPARCHIVE_METHOD(unchangeIndex)
{
struct zip *intern;
zval *this = getThis();
- long index;
+ php_int_t index;
if (!this) {
RETURN_FALSE;
@@ -2366,7 +2369,7 @@ static ZIPARCHIVE_METHOD(unchangeIndex)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index) ==
FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &index) ==
FAILURE) {
return;
}
@@ -2390,7 +2393,7 @@ static ZIPARCHIVE_METHOD(unchangeName)
zval *this = getThis();
struct zip_stat sb;
char *name;
- int name_len;
+ zend_str_size_int name_len;
if (!this) {
RETURN_FALSE;
@@ -2398,7 +2401,7 @@ static ZIPARCHIVE_METHOD(unchangeName)
ZIP_FROM_OBJECT(intern, this);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name,
&name_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &name,
&name_len) == FAILURE) {
return;
}
@@ -2474,7 +2477,7 @@ static ZIPARCHIVE_METHOD(extractTo)
zval **zval_file = NULL;
php_stream_statbuf ssb;
char *pathto;
- int pathto_len;
+ zend_str_size_int pathto_len;
int ret, i;
int nelems;
@@ -2483,7 +2486,7 @@ static ZIPARCHIVE_METHOD(extractTo)
RETURN_FALSE;
}
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &pathto,
&pathto_len, &zval_files) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|z", &pathto,
&pathto_len, &zval_files) == FAILURE) {
return;
}
@@ -2502,7 +2505,7 @@ static ZIPARCHIVE_METHOD(extractTo)
if (zval_files && (Z_TYPE_P(zval_files) != IS_NULL)) {
switch (Z_TYPE_P(zval_files)) {
case IS_STRING:
- if (!php_zip_extract_file(intern, pathto,
Z_STRVAL_P(zval_files), Z_STRLEN_P(zval_files) TSRMLS_CC)) {
+ if (!php_zip_extract_file(intern, pathto,
Z_STRVAL_P(zval_files), Z_STRSIZE_P(zval_files) TSRMLS_CC)) {
RETURN_FALSE;
}
break;
@@ -2517,7 +2520,7 @@ static ZIPARCHIVE_METHOD(extractTo)
case IS_LONG:
break;
case IS_STRING:
- if
(!php_zip_extract_file(intern, pathto, Z_STRVAL_PP(zval_file),
Z_STRLEN_PP(zval_file) TSRMLS_CC)) {
+ if
(!php_zip_extract_file(intern, pathto, Z_STRVAL_PP(zval_file),
Z_STRSIZE_PP(zval_file) TSRMLS_CC)) {
RETURN_FALSE;
}
break;
@@ -2559,13 +2562,13 @@ static void
php_zip_get_from(INTERNAL_FUNCTION_PARAMETERS, int type) /* {{{ */
struct zip_file *zf;
char *filename;
- int filename_len;
- long index = -1;
- long flags = 0;
- long len = 0;
+ zend_str_size_int filename_len;
+ php_int_t index = -1;
+ php_int_t flags = 0;
+ php_int_t len = 0;
char *buffer;
- int n = 0;
+ php_int_t n = 0;
if (!this) {
RETURN_FALSE;
@@ -2574,12 +2577,12 @@ static void
php_zip_get_from(INTERNAL_FUNCTION_PARAMETERS, int type) /* {{{ */
ZIP_FROM_OBJECT(intern, this);
if (type == 1) {
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH
"|ll", &filename, &filename_len, &len, &flags) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ARG_PATH
"|ii", &filename, &filename_len, &len, &flags) == FAILURE) {
return;
}
- PHP_ZIP_STAT_PATH(intern, filename, filename_len, flags, sb);
+ PHP_ZIP_STAT_PATH(intern, filename, filename_len,
(zip_flags_t)flags, sb);
} else {
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|ll",
&index, &len, &flags) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i|ii",
&index, &len, &flags) == FAILURE) {
return;
}
PHP_ZIP_STAT_INDEX(intern, index, 0, sb);
@@ -2593,9 +2596,9 @@ static void
php_zip_get_from(INTERNAL_FUNCTION_PARAMETERS, int type) /* {{{ */
len = sb.size;
}
if (index >= 0) {
- zf = zip_fopen_index(intern, index, flags);
+ zf = zip_fopen_index(intern, index, (zip_flags_t)flags);
} else {
- zf = zip_fopen(intern, filename, flags);
+ zf = zip_fopen(intern, filename, (zip_flags_t)flags);
}
if (zf == NULL) {
@@ -2639,7 +2642,7 @@ static ZIPARCHIVE_METHOD(getStream)
zval *this = getThis();
struct zip_stat sb;
char *filename;
- int filename_len;
+ zend_str_size_int filename_len;
char *mode = "rb";
php_stream *stream;
ze_zip_object *obj;
diff --git a/ext/zip/php_zip.h b/ext/zip/php_zip.h
index c8da941..9ce3d0d 100644
--- a/ext/zip/php_zip.h
+++ b/ext/zip/php_zip.h
@@ -87,7 +87,7 @@ typedef struct _ze_zip_object {
char **buffers;
HashTable *prop_handler;
char *filename;
- int filename_len;
+ zend_str_size_int filename_len;
} ze_zip_object;
php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper, const char
*path, const char *mode, int options, char **opened_path, php_stream_context
*context STREAMS_DC TSRMLS_DC);
diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c
index 02fbc70..7265dd0 100644
--- a/ext/zip/zip_stream.c
+++ b/ext/zip/zip_stream.c
@@ -117,13 +117,13 @@ static int php_zip_ops_stat(php_stream *stream,
php_stream_statbuf *ssb TSRMLS_D
{
struct zip_stat sb;
const char *path = stream->orig_path;
- int path_len = strlen(stream->orig_path);
+ zend_str_size_int path_len = strlen(stream->orig_path);
char *file_basename;
size_t file_basename_len;
char file_dirname[MAXPATHLEN];
struct zip *za;
char *fragment;
- int fragment_len;
+ zend_str_size_int fragment_len;
int err;
fragment = strchr(path, '#');
@@ -257,7 +257,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper
*wrapper,
char **opened_path,
php_stream_context *context STREAMS_DC TSRMLS_DC)
{
- int path_len;
+ zend_str_size_int path_len;
char *file_basename;
size_t file_basename_len;
@@ -266,7 +266,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper
*wrapper,
struct zip *za;
struct zip_file *zf = NULL;
char *fragment;
- int fragment_len;
+ zend_str_size_int fragment_len;
int err;
php_stream *stream = NULL;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php