static int filename_is_in_cache(char *filename, int filename_len TSRMLS_DC) { char *key; int key_length; zend_file_handle handle = {0}; zend_persistent_script *persistent_script; handle.filename = filename; handle.type = ZEND_HANDLE_FILENAME; if (IS_ABSOLUTE_PATH(filename, filename_len)) { persistent_script = zend_accel_hash_find(&ZCSG(hash), filename, filename_len); if (persistent_script) { return !persistent_script->corrupted && validate_timestamp_and_record(persistent_script, &handle TSRMLS_CC) == SUCCESS; } } if ((key = accel_make_persistent_key_ex(&handle, filename_len, &key_length TSRMLS_CC)) != NULL) { persistent_script = zend_accel_hash_find(&ZCSG(hash), key, key_length); return persistent_script && !persistent_script->corrupted && validate_timestamp_and_record(persistent_script, &handle TSRMLS_CC) == SUCCESS; } return 0; }
static int filename_is_in_cache(zend_string *filename) { char *key; int key_length; key = accel_make_persistent_key(filename->val, filename->len, &key_length); if (key != NULL) { zend_persistent_script *persistent_script = zend_accel_hash_str_find(&ZCSG(hash), key, key_length); if (persistent_script && !persistent_script->corrupted) { zend_file_handle handle = {{0}, NULL, NULL, 0, 0}; handle.filename = filename->val; handle.type = ZEND_HANDLE_FILENAME; if (ZCG(accel_directives).validate_timestamps) { return validate_timestamp_and_record(persistent_script, &handle) == SUCCESS; } return 1; } } return 0; }