return;
}
- /* check if class constant */
- if ((p = memchr(name, ':', name_len))) {
- char *s = name;
- zend_class_entry **ce;
-
- if (*(p + 1) != ':') { /* invalid constant specifier */
- RETURN_FALSE;
- } else if ((p + 2) >= (name + name_len)) { /* constant name length < 1 */
- zend_error(E_WARNING, "Constants name cannot be empty");
- RETURN_FALSE;
- } else if (zend_lookup_class(s, (p - s), &ce TSRMLS_CC) != SUCCESS) { /* invalid class name */
- zend_error(E_WARNING, "Class does not exists");
- RETURN_FALSE;
- } else { /* check of constant name contains invalid chars */
- int ok = 1;
- p += 2; /* move beyond :: to 1st char of constant's name */
-
- if (!isalpha(*p) && *p != '_') {
- ok = 0;
- }
-
- while (ok && *++p) {
- if (!isalnum(*p) && *p != '_') {
- ok = 0;
- break;
- }
- }
-
- if (!ok) {
- RETURN_FALSE;
- }
- }
- }
-
if(non_cs) {
case_sensitive = 0;
}