Use fast zpp for frequently used gettext(_)

This commit is contained in:
Xinchen Hui 2015-05-06 14:29:19 +08:00
parent 76fb02123f
commit 31f516b488

View file

@ -186,15 +186,21 @@ PHP_NAMED_FUNCTION(zif_textdomain)
Return the translation of msgid for the current domain, or msgid unaltered if a translation does not exist */ Return the translation of msgid for the current domain, or msgid unaltered if a translation does not exist */
PHP_NAMED_FUNCTION(zif_gettext) PHP_NAMED_FUNCTION(zif_gettext)
{ {
char *msgid, *msgstr; char *msgstr;
size_t msgid_len; zend_string *msgid;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &msgid, &msgid_len) == FAILURE) { #ifndef FAST_ZPP
if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &msgid) == FAILURE) {
return; return;
} }
#else
ZEND_PARSE_PARAMETERS_START(1, 1)
Z_PARAM_STR(msgid)
ZEND_PARSE_PARAMETERS_END();
#endif
PHP_GETTEXT_LENGTH_CHECK("msgid", msgid_len) PHP_GETTEXT_LENGTH_CHECK("msgid", msgid->len)
msgstr = gettext(msgid); msgstr = gettext(msgid->val);
RETURN_STRING(msgstr); RETURN_STRING(msgstr);
} }