mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
Change the way HAVE_GLOB is dealt with in ext/zip per IRC conversation with
Pierre.
This commit is contained in:
parent
ee36a3d313
commit
07fb5ca429
@ -473,10 +473,12 @@ static char * php_zipobj_get_zip_comment(struct zip *za, int *len TSRMLS_DC) /*
|
||||
#define GLOB_FLAGMASK (~GLOB_ONLYDIR)
|
||||
#else
|
||||
#define GLOB_FLAGMASK (~0)
|
||||
#endif
|
||||
#endif /* }}} */
|
||||
|
||||
int php_zip_glob(char *pattern, int pattern_len, long flags, zval *return_value TSRMLS_DC) /* {{{ */
|
||||
{
|
||||
#ifdef HAVE_GLOB
|
||||
char cwd[MAXPATHLEN];
|
||||
int cwd_skip = 0;
|
||||
#ifdef ZTS
|
||||
@ -563,9 +565,12 @@ int php_zip_glob(char *pattern, int pattern_len, long flags, zval *return_value
|
||||
|
||||
globfree(&globbuf);
|
||||
return globbuf.gl_pathc;
|
||||
#else
|
||||
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Glob support is not available");
|
||||
return 0;
|
||||
#endif /* HAVE_GLOB */
|
||||
}
|
||||
/* }}} */
|
||||
#endif /* HAVE_GLOB */
|
||||
|
||||
int php_zip_pcre(char *regexp, int regexp_len, char *path, int path_len, zval *return_value TSRMLS_DC) /* {{{ */
|
||||
{
|
||||
@ -665,7 +670,8 @@ int php_zip_pcre(char *regexp, int regexp_len, char *path, int path_len, zval *r
|
||||
return files_cnt;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* {{{ arginfo */
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_zip_open, 0, 0, 1)
|
||||
@ -1591,11 +1597,9 @@ static void php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
|
||||
char *add_path = NULL;
|
||||
int pattern_len, add_path_len, remove_path_len, path_len = 0;
|
||||
long remove_all_path = 0;
|
||||
long flags = 0;
|
||||
zval *options = NULL;
|
||||
int found;
|
||||
#ifdef HAVE_GLOB
|
||||
long flags = 0;
|
||||
#endif
|
||||
|
||||
if (!this) {
|
||||
RETURN_FALSE;
|
||||
@ -1604,15 +1608,10 @@ static void php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
|
||||
ZIP_FROM_OBJECT(intern, this);
|
||||
/* 1 == glob, 2==pcre */
|
||||
if (type == 1) {
|
||||
#ifdef HAVE_GLOB
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|la",
|
||||
&pattern, &pattern_len, &flags, &options) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Glob support is not available");
|
||||
RETURN_FALSE;
|
||||
#endif
|
||||
} else {
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|sa",
|
||||
&pattern, &pattern_len, &path, &path_len, &options) == FAILURE) {
|
||||
@ -1635,9 +1634,7 @@ static void php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
|
||||
}
|
||||
|
||||
if (type == 1) {
|
||||
#ifdef HAVE_GLOB
|
||||
found = php_zip_glob(pattern, pattern_len, flags, return_value TSRMLS_CC);
|
||||
#endif
|
||||
} else {
|
||||
found = php_zip_pcre(pattern, pattern_len, path, path_len, return_value TSRMLS_CC);
|
||||
}
|
||||
@ -1696,7 +1693,6 @@ static void php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAMETERS, int type) /*
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
#ifdef HAVE_GLOB
|
||||
/* {{{ proto bool ZipArchive::addGlob(string pattern[,int flags [, array options]])
|
||||
Add files matching the glob pattern. See php's glob for the pattern syntax. */
|
||||
static ZIPARCHIVE_METHOD(addGlob)
|
||||
@ -1704,7 +1700,6 @@ static ZIPARCHIVE_METHOD(addGlob)
|
||||
php_zip_add_from_pattern(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
/* {{{ proto bool ZipArchive::addPattern(string pattern[, string path [, array options]])
|
||||
Add files matching the pcre pattern. See php's pcre for the pattern syntax. */
|
||||
@ -2580,13 +2575,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_addemptydir, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, dirname)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
#ifdef HAVE_GLOB
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_addglob, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, pattern)
|
||||
ZEND_ARG_INFO(0, flags)
|
||||
ZEND_ARG_INFO(0, options)
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_ziparchive_addpattern, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, pattern)
|
||||
@ -2692,9 +2685,7 @@ static const zend_function_entry zip_class_functions[] = {
|
||||
ZIPARCHIVE_ME(addEmptyDir, arginfo_ziparchive_addemptydir, ZEND_ACC_PUBLIC)
|
||||
ZIPARCHIVE_ME(addFromString, arginfo_ziparchive_addfromstring, ZEND_ACC_PUBLIC)
|
||||
ZIPARCHIVE_ME(addFile, arginfo_ziparchive_addfile, ZEND_ACC_PUBLIC)
|
||||
#ifdef HAVE_GLOB
|
||||
ZIPARCHIVE_ME(addGlob, arginfo_ziparchive_addglob, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
ZIPARCHIVE_ME(addPattern, arginfo_ziparchive_addpattern, ZEND_ACC_PUBLIC)
|
||||
ZIPARCHIVE_ME(renameIndex, arginfo_ziparchive_renameindex, ZEND_ACC_PUBLIC)
|
||||
ZIPARCHIVE_ME(renameName, arginfo_ziparchive_renamename, ZEND_ACC_PUBLIC)
|
||||
|
Loading…
Reference in New Issue
Block a user