Skip to content

Commit

Permalink
Revert "Fix Windows build for GH-17814 and add extension dependency (#…
Browse files Browse the repository at this point in the history
…17819)"

This reverts commit 5cce35c.
  • Loading branch information
nielsdos committed Feb 15, 2025
1 parent dbea8d3 commit 5c1dad8
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 29 deletions.
1 change: 0 additions & 1 deletion ext/phar/tests/gh17808.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
GH-17808 (PharFileInfo refcount bug)
--EXTENSIONS--
phar
zlib
--FILE--
<?php
$fname = __DIR__.'/tar/files/Structures_Graph-1.0.3.tgz';
Expand Down
38 changes: 10 additions & 28 deletions ext/phar/util.c
Original file line number Diff line number Diff line change
Expand Up @@ -632,14 +632,18 @@ zend_result phar_get_entry_data(phar_entry_data **ret, char *fname, size_t fname
/**
* Create a new dummy file slot within a writeable phar for a newly created file
*/
static phar_entry_data *phar_get_or_create_entry_data_ex(char *fname, size_t fname_len, const char *path, size_t path_len, const char *mode, char allow_dir, char **error, int security) /* {{{ */
phar_entry_data *phar_get_or_create_entry_data(char *fname, size_t fname_len, const char *path, size_t path_len, const char *mode, char allow_dir, char **error, int security) /* {{{ */
{
phar_archive_data *phar;
phar_entry_info *entry, etemp;
phar_entry_data *ret;
const char *pcr_error;
char is_dir;

#ifdef PHP_WIN32
phar_unixify_path_separators(path, path_len);
#endif

is_dir = (path_len && path[path_len - 1] == '/') ? 1 : 0;

if (FAILURE == phar_get_archive(&phar, fname, fname_len, NULL, 0, error)) {
Expand Down Expand Up @@ -727,19 +731,6 @@ static phar_entry_data *phar_get_or_create_entry_data_ex(char *fname, size_t fna
}
/* }}} */

phar_entry_data *phar_get_or_create_entry_data(char *fname, size_t fname_len, const char *path, size_t path_len, const char *mode, char allow_dir, char **error, int security)
{
#ifdef PHP_WIN32
char *path_dup = estrndup(path, path_len);
phar_unixify_path_separators(path_dup, path_len);
phar_entry_data *ret = phar_get_or_create_entry_data_ex(fname, fname_len, path_dup, path_len, mode, allow_dir, error, security);
efree(path_dup);
return ret;
#else
return phar_get_or_create_entry_data_ex(fname, fname_len, path, path_len, mode, allow_dir, error, security);
#endif
}

static inline void phar_set_pharfp(phar_archive_data *phar, php_stream *fp)
{
if (!phar->is_persistent) {
Expand Down Expand Up @@ -1254,12 +1245,16 @@ phar_entry_info *phar_get_entry_info(phar_archive_data *phar, const char *path,
* valid pre-existing empty directory entries
*/
// TODO: convert this to use zend_string too
static phar_entry_info *phar_get_entry_info_dir_ex(phar_archive_data *phar, const char *path, size_t path_len, char dir, char **error, int security) /* {{{ */
phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, const char *path, size_t path_len, char dir, char **error, int security) /* {{{ */
{
const char *pcr_error;
phar_entry_info *entry;
int is_dir;

#ifdef PHP_WIN32
phar_unixify_path_separators(path, path_len);
#endif

is_dir = (path_len && (path[path_len - 1] == '/')) ? 1 : 0;

if (error) {
Expand Down Expand Up @@ -1406,19 +1401,6 @@ static phar_entry_info *phar_get_entry_info_dir_ex(phar_archive_data *phar, cons
}
/* }}} */

phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, const char *path, size_t path_len, char dir, char **error, int security)
{
#ifdef PHP_WIN32
char *path_dup = estrndup(path, path_len);
phar_unixify_path_separators(path_dup, path_len);
phar_entry_info *ret = phar_get_entry_info_dir_ex(phar, path_dup, path_len, dir, error, security);
efree(path_dup);
return ret;
#else
return phar_get_entry_info_dir_ex(phar, path, path_len, dir, error, security);
#endif
}

static const char hexChars[] = "0123456789ABCDEF";

static int phar_hex_str(const char *digest, size_t digest_len, char **signature) /* {{{ */
Expand Down

0 comments on commit 5c1dad8

Please sign in to comment.