@@ -650,6 +650,9 @@ PHP_INI_BEGIN()
650
650
STD_PHP_INI_BOOLEAN ("zend_test.replace_zend_execute_ex" , "0" , PHP_INI_SYSTEM , OnUpdateBool , replace_zend_execute_ex , zend_zend_test_globals , zend_test_globals )
651
651
STD_PHP_INI_BOOLEAN ("zend_test.register_passes" , "0" , PHP_INI_SYSTEM , OnUpdateBool , register_passes , zend_zend_test_globals , zend_test_globals )
652
652
STD_PHP_INI_BOOLEAN ("zend_test.print_stderr_mshutdown" , "0" , PHP_INI_SYSTEM , OnUpdateBool , print_stderr_mshutdown , zend_zend_test_globals , zend_test_globals )
653
+ #ifdef HAVE_COPY_FILE_RANGE
654
+ STD_PHP_INI_ENTRY ("zend_test.limit_copy_file_range" , "-1" , PHP_INI_ALL , OnUpdateLong , limit_copy_file_range , zend_zend_test_globals , zend_test_globals )
655
+ #endif
653
656
STD_PHP_INI_ENTRY ("zend_test.quantity_value" , "0" , PHP_INI_ALL , OnUpdateLong , quantity_value , zend_zend_test_globals , zend_test_globals )
654
657
STD_PHP_INI_ENTRY ("zend_test.str_test" , "" , PHP_INI_ALL , OnUpdateStr , str_test , zend_zend_test_globals , zend_test_globals )
655
658
STD_PHP_INI_ENTRY ("zend_test.not_empty_str_test" , "val" , PHP_INI_ALL , OnUpdateStrNotEmpty , not_empty_str_test , zend_zend_test_globals , zend_test_globals )
@@ -930,3 +933,17 @@ PHP_ZEND_TEST_API void bug_gh9090_void_int_char_var(int i, char *fmt, ...) {
930
933
931
934
va_end (args );
932
935
}
936
+
937
+ #ifdef HAVE_COPY_FILE_RANGE
938
+ /**
939
+ * This function allows us to simulate early return of copy_file_range by setting the limit_copy_file_range ini setting.
940
+ */
941
+ PHP_ZEND_TEST_API ssize_t copy_file_range (int fd_in , off64_t * off_in , int fd_out , off64_t * off_out , size_t len , unsigned int flags )
942
+ {
943
+ ssize_t (* original_copy_file_range )(int , off64_t * , int , off64_t * , size_t , unsigned int ) = dlsym (RTLD_NEXT , "copy_file_range" );
944
+ if (zend_test_globals .limit_copy_file_range >= Z_L (0 )) {
945
+ len = zend_test_globals .limit_copy_file_range ;
946
+ }
947
+ return original_copy_file_range (fd_in , off_in , fd_out , off_out , len , flags );
948
+ }
949
+ #endif
0 commit comments