mirror of
https://github.com/php/php-src.git
synced 2025-08-19 08:49:28 +02:00
- Fixed the fix (bug #46460)
This commit is contained in:
parent
13a66a812c
commit
18c706e05f
1 changed files with 10 additions and 22 deletions
|
@ -144,27 +144,12 @@ ZEND_GET_MODULE(php_gettext)
|
||||||
RETURN_FALSE; \
|
RETURN_FALSE; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PHP_GETTEXT_MSGID_LENGTH_CHECK \
|
#define PHP_GETTEXT_LENGTH_CHECK(check_name, check_len) \
|
||||||
char *check_name = "msgid"; \
|
|
||||||
int check_len = msgid_len; \
|
|
||||||
PHP_GETTEXT_LENGTH_CHECK
|
|
||||||
|
|
||||||
#define PHP_GETTEXT_LENGTH_CHECK \
|
|
||||||
if (check_len > PHP_GETTEXT_MAX_MSGID_LENGTH) { \
|
if (check_len > PHP_GETTEXT_MAX_MSGID_LENGTH) { \
|
||||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s passed too long", check_name); \
|
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s passed too long", check_name); \
|
||||||
RETURN_FALSE; \
|
RETURN_FALSE; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PHP_GETTEXT_MULTI_MSGID_LENGTH_CHECK \
|
|
||||||
int check_len; \
|
|
||||||
char *check_name; \
|
|
||||||
check_name = "msgid1"; \
|
|
||||||
check_len = msgid_len1; \
|
|
||||||
PHP_GETTEXT_LENGTH_CHECK \
|
|
||||||
check_name = "msgid2"; \
|
|
||||||
check_len = msgid_len2; \
|
|
||||||
PHP_GETTEXT_LENGTH_CHECK
|
|
||||||
|
|
||||||
PHP_MINFO_FUNCTION(php_gettext)
|
PHP_MINFO_FUNCTION(php_gettext)
|
||||||
{
|
{
|
||||||
php_info_print_table_start();
|
php_info_print_table_start();
|
||||||
|
@ -212,7 +197,7 @@ PHP_NAMED_FUNCTION(zif_gettext)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_GETTEXT_MSGID_LENGTH_CHECK
|
PHP_GETTEXT_LENGTH_CHECK("msgid", msgid_len)
|
||||||
|
|
||||||
RETURN_STRING(gettext(msgid_str), ZSTR_DUPLICATE);
|
RETURN_STRING(gettext(msgid_str), ZSTR_DUPLICATE);
|
||||||
}
|
}
|
||||||
|
@ -230,7 +215,7 @@ PHP_NAMED_FUNCTION(zif_dgettext)
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
||||||
PHP_GETTEXT_MSGID_LENGTH_CHECK
|
PHP_GETTEXT_LENGTH_CHECK("msgid", msgid_len)
|
||||||
|
|
||||||
RETURN_STRING(dgettext(domain_str, msgid_str), ZSTR_DUPLICATE);
|
RETURN_STRING(dgettext(domain_str, msgid_str), ZSTR_DUPLICATE);
|
||||||
}
|
}
|
||||||
|
@ -249,7 +234,7 @@ PHP_NAMED_FUNCTION(zif_dcgettext)
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
||||||
PHP_GETTEXT_MSGID_LENGTH_CHECK
|
PHP_GETTEXT_LENGTH_CHECK("msgid", msgid_len)
|
||||||
|
|
||||||
RETURN_STRING(dcgettext(domain_str, msgid_str, category), ZSTR_DUPLICATE);
|
RETURN_STRING(dcgettext(domain_str, msgid_str, category), ZSTR_DUPLICATE);
|
||||||
}
|
}
|
||||||
|
@ -296,7 +281,8 @@ PHP_NAMED_FUNCTION(zif_ngettext)
|
||||||
RETURN_FALSE;
|
RETURN_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_GETTEXT_MULTI_MSGID_LENGTH_CHECK
|
PHP_GETTEXT_LENGTH_CHECK("msgid1", msgid1_len)
|
||||||
|
PHP_GETTEXT_LENGTH_CHECK("msgid2", msgid2_len)
|
||||||
|
|
||||||
if ((msgstr = ngettext(msgid_str1, msgid_str2, count))) {
|
if ((msgstr = ngettext(msgid_str1, msgid_str2, count))) {
|
||||||
RETURN_STRING(msgstr, ZSTR_DUPLICATE);
|
RETURN_STRING(msgstr, ZSTR_DUPLICATE);
|
||||||
|
@ -321,7 +307,8 @@ PHP_NAMED_FUNCTION(zif_dngettext)
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
||||||
PHP_GETTEXT_MULTI_MSGID_LENGTH_CHECK
|
PHP_GETTEXT_LENGTH_CHECK("msgid1", msgid1_len)
|
||||||
|
PHP_GETTEXT_LENGTH_CHECK("msgid2", msgid2_len)
|
||||||
|
|
||||||
if ((msgstr = dngettext(domain_str, msgid_str1, msgid_str2, count))) {
|
if ((msgstr = dngettext(domain_str, msgid_str1, msgid_str2, count))) {
|
||||||
RETURN_STRING(msgstr, ZSTR_DUPLICATE);
|
RETURN_STRING(msgstr, ZSTR_DUPLICATE);
|
||||||
|
@ -346,7 +333,8 @@ PHP_NAMED_FUNCTION(zif_dcngettext)
|
||||||
}
|
}
|
||||||
|
|
||||||
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
PHP_GETTEXT_DOMAIN_LENGTH_CHECK
|
||||||
PHP_GETTEXT_MULTI_MSGID_LENGTH_CHECK
|
PHP_GETTEXT_LENGTH_CHECK("msgid1", msgid1_len)
|
||||||
|
PHP_GETTEXT_LENGTH_CHECK("msgid2", msgid2_len)
|
||||||
|
|
||||||
if ((msgstr = dcngettext(domain_str, msgid_str1, msgid_str2, count, category))) {
|
if ((msgstr = dcngettext(domain_str, msgid_str1, msgid_str2, count, category))) {
|
||||||
RETURN_STRING(msgstr, ZSTR_DUPLICATE);
|
RETURN_STRING(msgstr, ZSTR_DUPLICATE);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue