#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
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) /* {{{ */
{
return files_cnt;
}
/* }}} */
-#endif
+
+#endif
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_zip_open, 0, 0, 1)
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;
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) {
}
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);
}
}
/* }}} */
-#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)
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. */
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)
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)