1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

1777 Commits

Author SHA1 Message Date
Weilin Du
2918caee20 ext/*: Remove break after return (#21485) 2026-03-23 20:30:13 +01:00
Gina Peter Banyard
f40b356ad9 Use smart_str_append() if we have a zend_string* (#21414) 2026-03-21 17:06:14 +00:00
tekimen
7a1c2612c0 [RFC] Add grapheme_strrev function (#20949)
* [RFC] Add grapheme_strrev function

Add more tests Arabic for grapheme_strrev function.
2026-03-04 09:47:26 +09:00
Peter Kokot
f17c5ad83b Windows build: Add new function CHECK_HEADER() (#21191)
The current function `CHECK_HEADER_ADD_INCLUDE()` automatically defines
`HAVE_<HEADER_NAME_H>` preprocessor macros, which makes it difficult to
sync with other build systems. Specially, if some `HAVE_` macro is used
in the code and this function defines this macro but Autotools doesn't.

The new `CHECK_HEADER()` function behaves similar except it doesn't
define the `HAVE_<HEADER_NAME_H>` preprocessor macro.

This removes the following unused compile definitions:

HAVE_ARGON2_H
HAVE_AVIF_H
HAVE_BZLIB_H
HAVE_CAPSTONE_CAPSTONE_H
HAVE_CURL_EASY_H
HAVE_DB_H
HAVE_DECODE_H
HAVE_DEPOT_H
HAVE_EDITLINE_READLINE_H
HAVE_ENCHANT_H
HAVE_ENCODE_H
HAVE_FFI_H
HAVE_FIREBIRD_INTERFACE_H
HAVE_FT2BUILD_H
HAVE_GD_H
HAVE_GLIB_H
HAVE_GMP_H
HAVE_HTTPD_H
HAVE_IBASE_H
HAVE_IR_IR_H
HAVE_KECCAKHASH_H
HAVE_LBER_H
HAVE_LDAP_H
HAVE_LIBEXSLT_EXSLT_H
HAVE_LIBINTL_H
HAVE_LIBPQ_FE_H
HAVE_LIBTIDY_TIDY_H
HAVE_LIBXML_PARSER_H
HAVE_LIBXML_TREE_H
HAVE_LIBXML_XMLWRITER_H
HAVE_LIBXSLT_XSLT_H
HAVE_LMDB_H
HAVE_MBSTRING_H
HAVE_MYSQL_H
HAVE_ONIGURUMA_H
HAVE_OPENSSL_SSL_H
HAVE_PNG_H
HAVE_SNMP_H
HAVE_SODIUM_H
HAVE_SQLITE3_H
HAVE_SQLITE3EXT_H
HAVE_SYBFRONT_H
HAVE_TIDY_H
HAVE_TIDY_TIDY_H
HAVE_TIDYBUFFIO_H
HAVE_TIMELIB_CONFIG_H
HAVE_UNICODE_USPOOF_H
HAVE_UNICODE_UTF_H
HAVE_XPM_H
HAVE_ZIP_H
HAVE_ZIPCONF_H
HAVE_ZLIB_H

The following compile definitions are defined explicitly:

- HAVE_ICONV_H
- HAVE_MSCOREE_H
- HAVE_SQL_H
- HAVE_SQLEXT_H

Additionally, the `SETUP_OPENSSL()` function doesn't accept the 6th
argument anymore.
2026-03-03 20:06:40 +01: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
Vincent Langlet
74b8fdb95b Fix getPartsIterator stub (#21003) 2026-01-26 20:37:23 +01:00
Arnaud Le Blanc
65b4073922 Include the actual stub name in generated arginfo headers (#20993) 2026-01-21 20:57:00 +01:00
Jordi Kroon
cdd5aa21d8 Fix dateformat_format_variant3 test and split into different files (#20901) 2026-01-12 05:07:02 +00:00
Niels Dossche
898c94575c Merge branch 'PHP-8.5'
* PHP-8.5:
  intl: Fix leak in umsg_format_helper()
2025-12-22 12:18:37 +01:00
Niels Dossche
b81f770d39 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  intl: Fix leak in umsg_format_helper()
2025-12-22 12:18:14 +01:00
Niels Dossche
10bbd9590b Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  intl: Fix leak in umsg_format_helper()
2025-12-22 12:12:42 +01:00
Niels Dossche
9a7c09c963 intl: Fix leak in umsg_format_helper()
Closes GH-20756.
2025-12-22 12:06:59 +01:00
Daniel Scherzer
b010aa851a ext/intl/ERROR_CONVENTIONS.md: fix typo (not -> note) [skip ci] (#20696) 2025-12-17 15:17:17 +00:00
Niels Dossche
64d8b2af3d Merge branch 'PHP-8.5'
* PHP-8.5:
  intl: Fix tests for icu update
2025-12-02 21:03:21 +01:00
Niels Dossche
6333ca8cb7 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  intl: Fix tests for icu update
2025-12-02 21:03:15 +01:00
Niels Dossche
78e3d05d7d Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  intl: Fix tests for icu update
2025-12-02 21:00:13 +01:00
Niels Dossche
4b63315ad5 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  intl: Fix tests for icu update
2025-12-02 20:59:41 +01:00
Niels Dossche
667b28cba4 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  intl: Fix tests for icu update
2025-12-02 20:59:34 +01:00
Niels Dossche
2b04e0831a intl: Fix tests for icu update 2025-12-02 20:59:26 +01:00
Daniel Scherzer
b9e044548b Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-20426: fix Spoofchecker::setRestrictionLevel() error (#20427)
2025-12-01 13:41:04 -08:00
Daniel Scherzer
aa795a6aa3 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix GH-20426: fix Spoofchecker::setRestrictionLevel() error (#20427)
2025-12-01 13:40:23 -08:00
Daniel Scherzer
355d296baa Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-20426: fix Spoofchecker::setRestrictionLevel() error (#20427)
2025-12-01 13:39:38 -08:00
Daniel Scherzer
c343ede18d Fix GH-20426: fix Spoofchecker::setRestrictionLevel() error (#20427) 2025-12-01 13:37:49 -08:00
David CARLIER
e97c0dc340 ext/intl: migrate C to C++ code step 5. (#20424) 2025-11-09 21:57:25 +00:00
Daniel Scherzer
8d44508a4f ext/intl/spoofchecker: remove outdated TODO about documentation (#20425)
Documented in php/doc-en#2274
[skip ci]
2025-11-08 07:31:38 -08:00
David CARLIER
83e3a6d903 ext/intl: migrate C code to C++ step 4. (#20170) 2025-11-02 21:10:03 +00:00
Niels Dossche
bd82e8d149 Merge branch 'PHP-8.5'
* PHP-8.5:
  intl: Fix memory leak on error in locale_filter_matches()
2025-10-18 10:27:38 +02:00
Niels Dossche
bb3559b2b5 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  intl: Fix memory leak on error in locale_filter_matches()
2025-10-18 10:27:32 +02:00
Niels Dossche
7c79a916d6 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  intl: Fix memory leak on error in locale_filter_matches()
2025-10-18 10:26:51 +02:00
Niels Dossche
28ce1b04ef intl: Fix memory leak on error in locale_filter_matches()
Closes GH-20207.
2025-10-18 10:26:19 +02:00
Bogdan Ungureanu
d4f3ae90d2 ext/intl: Do not register IntlNumberRangeFormatter on ICU 62 or lower (#20197) 2025-10-17 20:09:14 +01:00
Bogdan Ungureanu
0ed7424a33 ext/intl: Fix build failure on ICU 62 caused by dateformat (#20198) 2025-10-17 05:55:29 +01:00
David Carlier
829a722300 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-20106: locale methods catering to stricter C++ rules.
2025-10-13 06:06:10 +01:00
David Carlier
f50942068d Fix GH-20106: locale methods catering to stricter C++ rules.
close GH-20110
2025-10-13 06:05:02 +01:00
Niels Dossche
ee43384a0b [ci skip] Remove duplicated comment block 2025-10-12 16:59:18 +02:00
David CARLIER
7f65512511 ext/intl: migrate C code to C++ step 3. (#19411) 2025-10-11 14:16:57 +01:00
Niels Dossche
c3b66cdb44 [ci skip] Fix test formatting 2025-10-11 11:27:24 +02:00
Niels Dossche
57ce245e1e Reduce code bloat in arginfo by using specialised string releases (#20016)
* Reduce code bloat in arginfo by using specialised string releases

Comparing this patch to master (c7da728574),
with a plain configure command without any options:

```
   text	   data	    bss	    dec	    hex	filename
20683738	1592400	 137712	22413850	156021a	sapi/cli/php
20688522	1592400	 137712	22418634	15614ca	sapi/cli/php_old
```

We see a minor reduction of 0.023% in code size.

* Also use true for the other initialization line

* Also use specialized code for consts
2025-10-02 22:00:20 +02:00
Bogdan Ungureanu
ee2da6d9e9 ext/intl: Remove unneeded unumberrangeformatter.h include (#19980) 2025-09-27 23:15:23 +01:00
Bogdan Ungureanu
6ef4a87c18 ext/intl: Add IntlNumberRangeFormatter class.
to format an interval of two numbers with a given
skeleton, locale, collapse type and identity fallback

close GH-19232
2025-09-27 01:58:12 +01:00
Tim Düsterhus
017ae20d70 intl: Use return true / return false for functions returning bool
Changes done with Coccinelle:

    @r1@
    identifier fn;
    typedef bool;
    symbol false;
    symbol true;
    @@

    bool fn ( ... )
    {
    <...
    return
    (
    - 0
    + false
    |
    - 1
    + true
    )
    ;
    ...>
    }

Coccinelle patch sourced from
torvalds/linux@46b5c9b856.
2025-09-24 18:51:40 +02:00
Tim Düsterhus
82322d1d28 intl: 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
Gina Peter Banyard
b4ed215299 core: Warn when non-representable floats are coerced to int (#19760)
RFC: https://wiki.php.net/rfc/warnings-php-8-5#casting_out_of_range_floats_to_int
2025-09-21 23:53:16 +01:00
Alexandre Daubois
5a177eedd5 Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix memory leak when providing an invalid locale to IntlDateFormatter (#19764)
  Fix intl tests naming (#19763)
2025-09-09 08:42:34 +02:00
Alexandre Daubois
f9805eb14b Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix intl tests naming (#19763)
2025-09-09 08:42:10 +02:00
Alexandre Daubois
b718514dc2 Fix memory leak when providing an invalid locale to IntlDateFormatter (#19764) 2025-09-09 08:41:32 +02:00
Alexandre Daubois
9eedf00206 Fix intl tests naming (#19763) 2025-09-09 08:41:20 +02:00
Alexandre Daubois
2d11f4d636 Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-11952: better locale strings canonicalization for IntlDateFormatter and NumberFormatter (#19593)
2025-09-08 16:39:50 +02:00
Alexandre Daubois
cc4cfbf984 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-11952: better locale strings canonicalization for IntlDateFormatter and NumberFormatter (#19593)
2025-09-08 16:38:31 +02:00
Alexandre Daubois
6a2adcd8a4 Fix GH-11952: better locale strings canonicalization for IntlDateFormatter and NumberFormatter (#19593) 2025-09-08 16:36:27 +02:00