mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
![]() Musl has two quirks that are leading to failed internationalization tests. First is that the return value of bindtextdomain(..., NULL) will always be false, rather than an "implementation-defined default directory," because musl does not have an implementation-defined default directory. One test needs a special case for this. Second is that the musl implementation of bind_textdomain_codeset() always returns NULL. The POSIX-correctness of this is debatable, but it is roughly equivalent to correct, because musl only support UTF-8, so the NULL value indicating that the codeset is unchanged from the locale's codeset (UTF-8) is accurate. PHP's bind_textdomain_codeset() function however treats NULL as failure, unconditionally: * https://github.com/php/doc-en/issues/4311 * https://github.com/php/php-src/issues/17163 This unfortunately causes false to be returned consistently on musl -- even when nothing unexpected has happened -- and naturally this is affecting several tests. For now we change two tests to accept "false" in addition to "UTF-8" so that they may pass on musl. If PHP's bind_textdomain_codeset() is updated to differentiate between NULL and NULL-with-errno-set, these tests can also be updated once again to reject the NULL-with-errno result. This partially addresses GH #13696 |
||
---|---|---|
.. | ||
66265 | ||
locale | ||
44938.phpt | ||
bug53251.phpt | ||
bug66267.phpt | ||
bug73730.phpt | ||
dcgettext_lcall.phpt | ||
dcngettext.phpt | ||
gettext_basic-enus.phpt | ||
gettext_basic.phpt | ||
gettext_bind_textdomain_codeset-retval.phpt | ||
gettext_bindtextdomain-cwd.phpt | ||
gettext_bindtextdomain-emptydomain.phpt | ||
gettext_bindtextdomain-path.phpt | ||
gettext_dcgettext.phpt | ||
gettext_dgettext.phpt | ||
gettext_dngettext-plural.phpt | ||
gettext_ngettext.phpt | ||
gettext_phpinfo.phpt | ||
gettext_textdomain-retval.phpt |