Gina Peter Banyard
b65ccc08dd
zend_ini: refactor zend_ini_boolean_displayer_cb
2026-02-16 13:34:25 +00:00
Gina Peter Banyard
d2710685dd
zend_ini: add const qualifiers
2026-02-16 13:34:25 +00:00
Gina Peter Banyard
30c09fff62
zend_ini: use SUCCESS instead of 0 to compare return value of function returning zend_result
2026-02-16 13:34:25 +00:00
Gina Peter Banyard
c2a9571357
zend_ini: Use true/false rather than 1/0 for bool arguments
2026-02-16 13:34:25 +00:00
Gina Peter Banyard
e35b381564
zend_ini: use bool type instead of int type
2026-02-16 13:34:25 +00:00
Tim Düsterhus
a15ba7672c
zend_ini: Make ZEND_INI_GET_ADDR() return a void* pointer ( #21119 )
...
* zend_ini: Make `ZEND_INI_GET_ADDR()` return a `void*` pointer
Since the actual type of the storage location is not known, a `void*` is more
appropriate and avoids explicit casts that are no more safe than the implicit
cast from `void*`.
* tree-wide: Remove explicit casts of `ZEND_INI_GET_ADDR()`
* UPGRADING.INTERNALS
2026-02-04 11:11:11 +01:00
Tim Düsterhus
c9b175992c
Zend: Use true / false instead of 1 / 0 for bool parameters
...
Changes done with Coccinelle:
@r1@
identifier F;
identifier p;
typedef bool;
parameter list [n1] PL1;
parameter list [n2] PL2;
@@
F(PL1, bool p, PL2) {
...
}
@r2@
identifier r1.F;
expression list [r1.n1] EL1;
expression list [r1.n2] EL2;
@@
F(EL1,
(
- 1
+ true
|
- 0
+ false
)
, EL2)
2025-09-24 18:51:40 +02:00
Tim Düsterhus
c32fbca874
Zend: Use true / false instead of 1 / 0 when assigning to bool
...
Changes done with Coccinelle:
@@
bool b;
@@
- b = 0
+ b = false
@@
bool b;
@@
- b = 1
+ b = true
2025-09-24 18:51:40 +02:00
Ilija Tovilo
cd80ed6f7b
Implement changes to GH-17951 according to ML discussion
2025-08-04 16:04:25 +02:00
Tim Düsterhus
e3798c2ab9
sapi/cli: Extend --ini to print INI settings changed from the builtin default ( #17459 )
...
* sapi/cli: Extend `--ini` to print INI settings changed from the builtin default
This is intended to make it easier to check whether or not a given INI setting
is changed from the default when building reproducers for a bugreport, without
forgetting any that might be relevant to the report.
As an example, running `sapi/cli/php -c /etc/php/8.3/cli/ --ini` on my Ubuntu
will now output:
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /etc/php/8.3/cli/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Non-standard INI settings:
allow_url_include: "0" -> ""
auto_append_file: (none) -> ""
auto_prepend_file: (none) -> ""
display_errors: "1" -> ""
display_startup_errors: "1" -> ""
enable_dl: "1" -> ""
error_reporting: (none) -> "22527"
html_errors: "1" -> "0"
ignore_repeated_errors: "0" -> ""
ignore_repeated_source: "0" -> ""
implicit_flush: "0" -> "1"
log_errors: "0" -> "1"
mail.add_x_header: "0" -> ""
mail.mixed_lf_and_crlf: "0" -> ""
max_execution_time: "30" -> "0"
memory_limit: "128M" -> "-1"
request_order: (none) -> "GP"
session.cookie_httponly: "0" -> ""
session.gc_divisor: "100" -> "1000"
session.gc_probability: "1" -> "0"
session.sid_bits_per_character: "4" -> "5"
session.sid_length: "32" -> "26"
short_open_tag: "1" -> ""
unserialize_callback_func: (none) -> ""
user_dir: (none) -> ""
variables_order: "EGPCS" -> "GPCS"
zend.assertions: "1" -> "-1"
zend.exception_ignore_args: "0" -> "1"
zend.exception_string_param_max_len: "15" -> "0"
* Improve phrasing
Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz >
* NEWS/UPGRADING
---------
Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz >
2025-02-05 17:54:52 +01:00
Tim Düsterhus
0f8340d0a5
zend_ini: Implement zend_ini_string*() in terms of zend_ini_str*() ( #17530 )
2025-01-20 22:15:23 +01:00
Niels Dossche
3eb79e146f
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-17409: Assertion failure Zend/zend_hash.c:1730
NEWS
Add comment
Fix GH-16892: ini_parse_quantity() fails to parse inputs starting with 0x0b
Fix GH-16886: ini_parse_quantity() fails to emit warning for 0x+0
Merge duplicate code blocks
2025-01-09 19:54:46 +01:00
Niels Dossche
a2b8204880
Add comment
...
Closes GH-17274.
2025-01-09 19:52:13 +01:00
Niels Dossche
7626e88de7
Fix GH-16892: ini_parse_quantity() fails to parse inputs starting with 0x0b
2025-01-09 19:51:18 +01:00
Niels Dossche
2c267722b3
Fix GH-16886: ini_parse_quantity() fails to emit warning for 0x+0
2025-01-09 19:51:17 +01:00
Niels Dossche
e6e2ec56ab
Merge duplicate code blocks
...
This makes the code less error-prone.
2025-01-09 19:51:17 +01:00
Niels Dossche
442ae96444
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix GH-15028: Memory leak in ext/phar/stream.c
Fix GH-15023: Memory leak in Zend/zend_ini.c
Fix GH-15020: Memory leak in Zend/Optimizer/escape_analysis.c
2024-07-19 14:59:57 +02:00
Niels Dossche
f21947a7ae
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-15028: Memory leak in ext/phar/stream.c
Fix GH-15023: Memory leak in Zend/zend_ini.c
Fix GH-15020: Memory leak in Zend/Optimizer/escape_analysis.c
2024-07-19 14:59:44 +02:00
Niels Dossche
8c19efdc97
Fix GH-15023: Memory leak in Zend/zend_ini.c
...
Closes GH-15024.
2024-07-19 14:57:19 +02:00
Ayesh Karunaratne
f6f1f7c109
ext/standard: Minor improvements to phpinfo() output ( #13371 )
...
- Change `http://` links to `https://` for php.net and zend.com
- Remove `<img border=0` attributes as they are no longer in the HTML standard
- Replace `<font>` tags with `<span>` tags (used for highlight.* INI color value display previews)
2024-02-11 11:05:07 +01:00
Jakub Zelenka
2913447653
Merge branch 'PHP-8.2' into PHP-8.3
2023-10-14 18:44:26 +01:00
Jakub Zelenka
c776f79578
Merge branch 'PHP-8.1' into PHP-8.2
2023-10-14 18:41:48 +01:00
Jakub Zelenka
0217be4d5b
Fix GH-12232: FPM: segfault dynamically loading extension without opcache
...
Also fixes incorrect assertion in ini init that php_dl is always
temporary.
Closes GH-12277
2023-10-14 18:38:21 +01:00
George Peter Banyard
9b28e521d1
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-11876: ini_parse_quantity() accepts invalid quantities
2023-08-30 21:23:10 +01:00
George Peter Banyard
d229a480ad
Fix GH-11876: ini_parse_quantity() accepts invalid quantities
...
Closes GH-11910
2023-08-30 21:22:13 +01:00
George Peter Banyard
373809c51b
Merge branch 'PHP-8.2'
...
* PHP-8.2:
ext/curl/interface: fix zend_result return value
Zend/zend_ini: fix zend_result return values
2023-02-21 13:54:12 +00:00
George Peter Banyard
f6ec807871
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
ext/curl/interface: fix zend_result return value
Zend/zend_ini: fix zend_result return values
2023-02-21 13:53:48 +00:00
Max Kellermann
d51eb1d74c
Zend/zend_ini: fix zend_result return values
...
The value "1" was illegal.
Signed-off-by: George Peter Banyard <girgias@php.net >
2023-02-21 13:40:54 +00:00
Christoph M. Becker
c8955c078a
Revert GH-10220
...
Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816 >.
This reverts commit ecc880f491 .
This reverts commit 588a07f737 .
This reverts commit f377e15751 .
This reverts commit b4ba16fe18 .
This reverts commit 694ec1deea .
This reverts commit 6b34de8eba .
This reverts commit aa1cd02a43 .
This reverts commit 308fd311ea .
This reverts commit 16203b53e1 .
This reverts commit 738fb5ca54 .
This reverts commit 9fdbefacd3 .
This reverts commit cd4a7c1d90 .
This reverts commit 928685eba2 .
This reverts commit 01e5ffc85c .
2023-01-16 12:27:33 +01:00
George Peter Banyard
098a43dbd0
Introduce new INI API to get zend_string* value for an INI setting
2023-01-15 16:00:18 +00:00
Max Kellermann
cd4a7c1d90
Zend/zend_ini: include cleanup
2023-01-10 14:19:03 +00:00
George Peter Banyard
0f8b9eb49b
Add support for binary and octal number prefixes for INI settings
...
Closes GH-9560
2022-09-30 11:58:36 +01:00
George Peter Banyard
0d19ae4068
Add support for binary and octal number prefixes for INI settings
...
Closes GH-9560
2022-09-30 11:56:39 +01:00
George Peter Banyard
3e362f51ac
Add zend_string INI validators
...
Currently we only have validators for char* which is rather annoying as INI settings are saved as zend_string* in the first place
Closes GH-9328
2022-09-06 10:41:47 +01:00
Ayesh Karunaratne
9f8e5182a1
INI parser: Fix typo /multipler/multiplier
...
Closes GH-8987.
2022-07-13 12:16:26 +02:00
Arnaud Le Blanc
827754ac22
Fix type ( #8814 )
2022-06-17 15:23:21 +02:00
Arnaud Le Blanc
efc8f0ebf8
Deprecate zend_atol() / add zend_ini_parse_quantity() ( #7951 )
...
Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi()
zend_atol() and zend_atoi() don't just do number parsing.
They also check for a 'K', 'M', or 'G' at the end of the string,
and multiply the parsed value out accordingly.
Unfortunately, they ignore any other non-numerics between the
numeric component and the last character in the string.
This means that numbers such as the following are both valid
and non-intuitive in their final output.
* "123KMG" is interpreted as "123G" -> 132070244352
* "123G " is interpreted as "123 " -> 123
* "123GB" is interpreted as "123B" -> 123
* "123 I like tacos." is also interpreted as "123." -> 123
Currently, in php-src these functions are used only for parsing ini values.
In this change we deprecate zend_atol(), zend_atoi(), and introduce a new
function with the same behavior, but with the ability to report invalid inputs
to the caller. The function's name also makes the behavior less unexpected:
zend_ini_parse_quantity().
Co-authored-by: Sara Golemon <pollita@php.net >
2022-06-17 14:12:53 +02:00
Arnaud Le Blanc
0a5a761104
Merge branch 'PHP-8.1'
2022-05-06 15:29:21 +02:00
Arnaud Le Blanc
f07a08df5c
Fix unregistering ini entries of dynamically loaded extension ( #8435 )
...
Fixes GH-8185
2022-05-06 15:25:44 +02:00
Dmitry Stogov
90b7bde615
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.
2021-11-03 15:18:26 +03:00
Patrick Allaert
aff365871a
Fixed some spaces used instead of tabs
2021-06-29 11:30:26 +02:00
George Peter Banyard
09efad615b
Use zend_string_equals_(literal_)ci() API more often
...
Also drive-by usage of zend_ini_parse_bool()
Closes GH-6844
2021-04-09 02:34:50 +01:00
Nikita Popov
3e01f5afb1
Replace zend_bool uses with bool
...
We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.
Of course, zend_bool is retained as an alias.
2021-01-15 12:33:06 +01:00
George Peter Banyard
fa8d9b1183
Improve type declarations for Zend APIs
...
Voidification of Zend API which always succeeded
Use bool argument types instead of int for boolean arguments
Use bool return type for functions which return true/false (1/0)
Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics
Closes GH-6002
2020-08-28 15:41:27 +02:00
George Peter Banyard
1b2ec73c1d
Drop various unused macros/APIs
...
Also convert_libmagic_pattern() to return a zend_string*
Closes GH-6029
2020-08-26 12:59:43 +02:00
Christoph M. Becker
13419befff
Merge branch 'PHP-7.4' into master
...
* PHP-7.4:
Fix wrong datatype
2020-08-21 15:30:07 +02:00
Christoph M. Becker
8f9f308bb9
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix wrong datatype
2020-08-21 15:28:37 +02:00
Manuel Mausz
46d62e5464
Fix wrong datatype
...
ini_entry->modifiable is of type uint8_t and so should be the temp. variable. Especially important after 4b77a158 .
Closes GH-6028
2020-08-21 15:28:12 +02:00
Derick Rethans
fc7650944a
Merge branch 'PHP-7.4'
2020-07-09 09:51:15 +01:00
Derick Rethans
972383fda4
Revert "Partial fixed bug #79649 (Altering disable_functions from module init corrupts memory)"
...
This reverts commit a297c09da5 .
2020-07-09 09:50:25 +01:00