-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Fixes bug #54289 #3008
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Fixes bug #54289 #3008
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Support list() reference assignments of the form: list(&$a, list(&$b, $c)) = $d; RFC: https://wiki.php.net/rfc/list_reference_assignment
The behavior of RANGE_RANGE() is 7.1 changed completely, from rescaling an already generated number to generating a number itself. Because of this str_shuffle() ended up generating two random numbers on every iteration. To avoid further misuse the function is dropped entirely. Extensions for PHP >= 7.1 should directly call php_mt_rand_range().
Everything else in that file uses sizeof with parentheses.
Default values should have no leading space, everything else should have one.
Mentioned PHP versions indicate that there is a progress to make code fully follow the coding standards which is not exactly the real case. This patch changes few oudated used PHP versions in intro paragraph and mentions the PHP documentation repository in more abstract way. [ci skip]
Some extensions included TODO files that has been present for several years in the repository tree without changes. This included: - ext/phar - ext/intl - ext/zip - ext/soap - ext/pdo - ext/spl - ext/dom - ext/gmp - ext/xmlwriter - ext/xmlreader ext/phar feature request has been created instead, and for others it would be better to use wiki and RFC workflow instead based on current feature requests and further PHP development requirements. [ci skip]
PASS_TWO_UNDO_CONSTANT was using the serialized op_array->literals pointer, resulting in incorrect offsets.
* PHP-7.2: Add vc++ 19.12 to the known list
* PHP-7.1: Sync known vc++ versions in 7.1
* PHP-7.2: Sync known vc++ versions in 7.1
Adds PHP bindings for mpz_bin_ui and mpz_bin_uiui, for calculating binomial coefficients.
Exposes mpz_lcm() and mpz_lcm_ui() for calculating the least common multiple. We already expose the somewhat complementary gmp_gcd() function.
Exposes the mpz_perfect_power_p() function. We already had the more specific gmp_perfect_square() function.
* PHP-7.2: Skip on Travis-CI
This reverts commit b0db19e. More test fixes needed to evaluate.
* PHP-7.2: Happy new year (Update copyright to 2018)
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* 'master' of git.php.net:/php-src: Happy new year (Update copyright to 2018) Happy new year (Update copyright to 2018) Revert "Enable ODBC tests on AppVeyor" Enable ODBC tests on AppVeyor Skip on Travis-CI Extend skip section 2018 missing changelog entries + fix version and date missing changelog entries 2018 Trailing whitespaces
* 'clean-up' of https://github.com/carusogabriel/php-src: Trailing whitespaces on Zend Trailing whitespaces on win32 Trailing whitespaces on sapi/* Trailing whitespaces on ext/*
…t, also remove the note about Windows NT based OS, as we only support NT anyway
* PHP-7.1: Fix tests
* PHP-7.2: Fix tests
* 'master' of git.php.net:/php-src: Fixed typo
Reproduced per the ticket. Step 1: check. @see https://bugs.php.net/bug.php?id=54289
When you've got a request to extract a file, and that "file" doesn't exist in the manifest (which is leaves of files), it's possible that it's actually a request for "directory". In that case, we check if that "directory" exists as a prefix: for all leaves with that prefix, extract them.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@see https://bugs.php.net/bug.php?id=54289
A Phar object's manifest is a hash of file leaves: the directories are not held as distinct references. So, when the user gives a request for a directory, we need to find the list of file leaves having that directory as a prefix. If you're familiar with AWS, this is like how S3 works -- there aren't "directories" in the sense of a directed node graph: rather, there are just files, which optionally have a prefix we interpret semantically as a directory.
Ideally, we'd rather want an index of files by their directories, because with rather large
.phar
this can be an expensive operation. Might address that in a future refactoring, but this was the most obvious implementation: the cost being that extracting directories from large phar may be slow.