Avoid strlen usage

This commit is contained in:
Xinchen Hui 2014-09-20 15:22:12 +08:00
parent 7ecc7e6bc2
commit 95836a3504

View File

@ -115,20 +115,19 @@ static zend_string *zend_build_runtime_definition_key(zend_string *name, unsigne
{
zend_string *result;
char char_pos_buf[32];
size_t char_pos_len = zend_sprintf(char_pos_buf, "%p", lex_pos);
size_t filename_len, char_pos_len = zend_sprintf(char_pos_buf, "%p", lex_pos);
const char *filename;
if (CG(active_op_array)->filename) {
filename = CG(active_op_array)->filename->val;
filename_len = CG(active_op_array)->filename->len;
} else {
filename = "-";
filename_len = sizeof("-") - 1;
}
/* NULL, name length, filename length, last accepting char position length */
result = zend_string_alloc(1 + name->len + strlen(filename) + char_pos_len, 0);
result->val[0] = '\0';
sprintf(result->val + 1, "%s%s%s", name->val, filename, char_pos_buf);
result = zend_string_alloc(1 + name->len + filename_len + char_pos_len, 0);
sprintf(result->val, "%c%s%s%s", '\0', name->val, filename, char_pos_buf);
return result;
}
/* }}} */