Browse Source

Strlen cleanup (additions for previous one fix)

Probably compilers will do similar optimization
PHP-7.0.7
Xinchen Hui 10 years ago
parent
commit
29079f263e
  1. 5
      Zend/zend_object_handlers.c
  2. 4
      Zend/zend_strtod.c

5
Zend/zend_object_handlers.c

@ -1068,6 +1068,7 @@ ZEND_API int zend_check_protected(zend_class_entry *ce, zend_class_entry *scope)
ZEND_API zend_function *zend_get_call_trampoline_func(zend_class_entry *ce, zend_string *method_name, int is_static) /* {{{ */
{
size_t mname_len;
zend_op_array *func;
zend_function *fbc = is_static ? ce->__callstatic : ce->__call;
@ -1100,8 +1101,8 @@ ZEND_API zend_function *zend_get_call_trampoline_func(zend_class_entry *ce, zend
//??? keep compatibility for "\0" characters
//??? see: Zend/tests/bug46238.phpt
if (UNEXPECTED(strlen(ZSTR_VAL(method_name)) != ZSTR_LEN(method_name))) {
func->function_name = zend_string_init(ZSTR_VAL(method_name), strlen(ZSTR_VAL(method_name)), 0);
if (UNEXPECTED((mname_len = strlen(ZSTR_VAL(method_name))) != ZSTR_LEN(method_name))) {
func->function_name = zend_string_init(ZSTR_VAL(method_name), mname_len, 0);
} else {
func->function_name = zend_string_copy(method_name);
}

4
Zend/zend_strtod.c

@ -4456,7 +4456,7 @@ ZEND_API double zend_oct_strtod(const char *str, const char **endptr)
double value = 0;
int any = 0;
if (strlen(str) < 1) {
if (str[0] == '\0') {
if (endptr != NULL) {
*endptr = str;
}
@ -4491,7 +4491,7 @@ ZEND_API double zend_bin_strtod(const char *str, const char **endptr)
double value = 0;
int any = 0;
if (strlen(str) < 2) {
if (str[0] == '\0' || str[1] == '\0') {
if (endptr != NULL) {
*endptr = str;
}

Loading…
Cancel
Save