uint32_t zend_get_class_fetch_type(zend_string *name) /* {{{ */
{
- if (name->len == sizeof("self") - 1 &&
- !strncasecmp(name->val, "self", sizeof("self") - 1)) {
+ if (zend_string_equals_literal_ci(name, "self")) {
return ZEND_FETCH_CLASS_SELF;
- } else if (name->len == sizeof("parent") - 1 &&
- !strncasecmp(name->val, "parent", sizeof("parent") - 1)) {
+ } else if (zend_string_equals_literal_ci(name, "parent")) {
return ZEND_FETCH_CLASS_PARENT;
- } else if (name->len == sizeof("static") - 1 &&
- !strncasecmp(name->val, "static", sizeof("static") - 1)) {
+ } else if (zend_string_equals_literal_ci(name, "static")) {
return ZEND_FETCH_CLASS_STATIC;
} else {
return ZEND_FETCH_CLASS_DEFAULT;
}
/* }}} */
-#define zend_string_equals_literal_ci(str, c) \
- ((str)->len == sizeof(c) - 1 \
- && !zend_binary_strcasecmp((str)->val, (str)->len, (c), sizeof(c) - 1))
-
static void zend_adjust_for_fetch_type(zend_op *opline, uint32_t type) /* {{{ */
{
switch (type & BP_VAR_MASK) {
return s1 == s2 || (s1->len == s2->len && !memcmp(s1->val, s2->val, s1->len));
}
+#define zend_string_equals_literal_ci(str, c) \
+ ((str)->len == sizeof(c) - 1 && !zend_binary_strcasecmp((str)->val, (str)->len, (c), sizeof(c) - 1))
+
#define zend_string_equals_literal(str, literal) \
((str)->len == sizeof(literal)-1 && !memcmp((str)->val, literal, sizeof(literal) - 1))