History log of /PHP-8.1/ext/spl/spl_directory.c (Results 1 – 25 of 498)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# bce53606 29-May-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-11338: SplFileInfo empty getBasename with more than one slash

Regressed in 13e4ce386bb7.

Closes GH-11340.


# 6fbf81c6 09-Nov-2022 George Peter Banyard

Fix GH-9883 SplFileObject::__toString() reads next line

We need to overwrite the __toString magic method for SplFileObject, similarly to how DirectoryIterator overwrites it
Moreover, th

Fix GH-9883 SplFileObject::__toString() reads next line

We need to overwrite the __toString magic method for SplFileObject, similarly to how DirectoryIterator overwrites it
Moreover, the custom cast handler is useless as we define __toString methods, so use the standard one instead.

Closes GH-9912

show more ...


# 79a28324 05-Jul-2022 George Peter Banyard

Revert "Fix GH-8563 Different results for seek() on SplFileObject and SplTempFileObject"

Although the fix is partially correct it also breaks long standing behaviour which has been produced

Revert "Fix GH-8563 Different results for seek() on SplFileObject and SplTempFileObject"

Although the fix is partially correct it also breaks long standing behaviour which has been produced since PHP 5.3.

This reverts commit 6f87a5c6338d0d64d18e3a44b65c19acc9c529e8.

show more ...


# 9bae9ab3 28-Jun-2022 George Peter Banyard

Fix GH-8861: correctly handle string lengths in SplFileinfo methods (#8869)

* Fix GH-8861: correctly handle string lengths in \SplFileinfo::getBasename

Co-authored-by: M. Vondano <m

Fix GH-8861: correctly handle string lengths in SplFileinfo methods (#8869)

* Fix GH-8861: correctly handle string lengths in \SplFileinfo::getBasename

Co-authored-by: M. Vondano <m-vo@users.noreply.github.com>

show more ...


# 3b92a966 25-Jun-2022 Ilija Tovilo

Convert return type of various object handlers from int to zend_result (#8755)


# 20638dba 24-Jun-2022 George Peter Banyard

Use the passed 'this' pointer instead of ZEND_THIS (#8854)

Removes the horrible hack usage of defining execute_data to be able to use ZEND_THING


# 7cd8879d 21-Jun-2022 George Peter Banyard

Refactor spl_filesystem_object_get_path() to return zend_string*


# 623fbfe7 20-Jun-2022 George Peter Banyard

Remove Z_SPLFILESYSTEM_P macro

Remove one level of macro expansion hell


# 4d43241e 20-Jun-2022 George Peter Banyard

Move some private SPL Directory elements out of the header


# d5d0b07b 20-Jun-2022 George Peter Banyard

Early return in spl_filesystem_file_rewind()


# a493c944 27-May-2022 George Peter Banyard

Use bool for silent parameter in SPL directory.c


# 6bd01751 20-Jun-2022 cmp

Prevent fclose on underlying SplFileObject file stream. (#7920)


# dbf1cafd 09-Jun-2022 George Peter Banyard

Remove internal usage of SplFileInfo::_bad_state_ex() method (#8318)

* Use standard VM handling instead
* Deprecate the method as it is now useless


Revision tags: php-8.1.7RC1
# 2ac5948f 08-Apr-2022 George Peter Banyard

Refactor SplFileObject CSV methods (#8317)

Use early returns, which fixes ValueError order of arguments and flattens the code


# 3931d726 08-Apr-2022 George Peter Banyard

Add missing ZPP checks in SPL Directory (#8325)

Co-authored-by: Máté Kocsis <kocsismate@woohoolabs.com>


# 89227060 07-Apr-2022 George Peter Banyard

Minor refactoring of spl_directory.c

Using more appropriate types
Fix comments
Early returns


# b9e895bc 31-Mar-2022 Max Kellermann

Replace memcmp() with zend_string functions (#8216)

* ext/oci8: use zend_string_equals()

Eliminate duplicate code.

* main/php_variables: use zend_string_equals_literal()

Replace memcmp() with zend_string functions (#8216)

* ext/oci8: use zend_string_equals()

Eliminate duplicate code.

* main/php_variables: use zend_string_equals_literal()

Eliminate duplicate code.

* Zend/zend_string: add zend_string_equals_cstr()

Allows eliminating duplicate code.

* Zend, ext/{opcache,standard}, main/output: use zend_string_equals_cstr()

Eliminate duplicate code.

* Zend/zend_string: add zend_string_starts_with()

* ext/{opcache,phar,spl,standard}: use zend_string_starts_with()

This adds missing length checks to several callers, e.g. in
cache_script_in_shared_memory(). This is important when the
zend_string is shorter than the string parameter, when memcmp()
happens to check backwards; this can result in an out-of-bounds memory
access.

show more ...


Revision tags: php-8.1.4RC1, php-8.1.3, php-8.1.2RC1, php-8.1.0, php-7.3.33
# 90b7bde6 03-Nov-2021 Dmitry Stogov

Use more compact representation for packed arrays.

- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[

Use more compact representation for packed arrays.

- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[i]
instead of ht->arData[i]
- in addition to general ZEND_HASH_FOREACH_* macros, we introduced similar
familied for packed (ZEND_HASH_PACKED_FORECH_*) and real hashes
(ZEND_HASH_MAP_FOREACH_*)
- introduced an additional family of macros to access elements of array
(packed or real hashes) ZEND_ARRAY_ELEMET_SIZE, ZEND_ARRAY_ELEMET_EX,
ZEND_ARRAY_ELEMET, ZEND_ARRAY_NEXT_ELEMENT, ZEND_ARRAY_PREV_ELEMENT
- zend_hash_minmax() prototype was changed to compare only values

Because of smaller data set, this patch may show performance improvement
on some apps and benchmarks that use packed arrays. (~1% on PHP-Parser)

TODO:
- sapi/phpdbg needs special support for packed arrays (WATCH_ON_BUCKET).
- zend_hash_sort_ex() may require converting packed arrays to hash.

show more ...


Revision tags: php-7.3.32
# 088e5478 24-Sep-2021 Nikita Popov

Fix FileSystemIterator without SKIP_DOTS

There were two separate bugs here:
* The get_iterator implementation did not match the Iterator
implementation. In particular, get_iterat

Fix FileSystemIterator without SKIP_DOTS

There were two separate bugs here:
* The get_iterator implementation did not match the Iterator
implementation. In particular, get_iterator did not respect
SKIP_DOTS.
* The constructor did not honor an explicitly omitted SKIP_DOTS
flag. It could still be unset through setFlags() though.

show more ...


# 6f87a5c6 27-May-2022 George Peter Banyard

Fix GH-8563 Different results for seek() on SplFileObject and SplTempFileObject

With memory streams if we get a NULL buffer we must not instantiate an empty line


# 6186ecd4 07-Apr-2022 George Peter Banyard

Fix GH-8273: SplFileObject: key() returns wrong value


# 660ef91f 07-Apr-2022 George Peter Banyard

Fix GH-8273: SplFileObject: key() returns wrong value


# 1d9a1f9b 28-Feb-2022 Christoph M. Becker

Fix GH-8121: SplFileObject - seek and key with csv file inconsistent

First, we must not free the current line before we call
`spl_filesystem_file_read_csv()`, because then the `current_l

Fix GH-8121: SplFileObject - seek and key with csv file inconsistent

First, we must not free the current line before we call
`spl_filesystem_file_read_csv()`, because then the `current_line` will
not be properly updated. Since the EOF check is superfluous here, we
move that part of the code to the branch for subtypes. This issue has
been introduced by the fix for bug 75917.

Second, we only must increase the `current_line` if we're not reading
ahead. This issue has been introduced by the fix for bug 62004.

Closes GH-8138.

show more ...


# 0ed39ed8 22-Dec-2021 Christoph M. Becker

Fix GH-7809: Cloning a faked SplFileInfo object may segfault

While the `path` is not supposed to be `NULL` for normal operation, it
is possible to create `SplFileInfo` objects where that

Fix GH-7809: Cloning a faked SplFileInfo object may segfault

While the `path` is not supposed to be `NULL` for normal operation, it
is possible to create `SplFileInfo` objects where that is the case, and
we must not follow the null pointer.

Closes GH-7814.

show more ...


# daf79e2d 30-Nov-2021 Aliaksandr Bystry

Fix #75917: SplFileObject::seek broken with CSV flags

Closes GH-7697.


12345678910>>...20