@@ -5395,31 +5395,29 @@ static zend_always_inline uint32_t zend_get_arg_offset_by_name(
5395
5395
return * (uintptr_t * )(cache_slot + 1 );
5396
5396
}
5397
5397
5398
- if (UNEXPECTED (ZSTR_LEN (arg_name ) == 0 )) {
5399
- return (uint32_t )-1 ;
5400
- }
5401
-
5402
- // TODO: Use a hash table?
5403
- uint32_t num_args = fbc -> common .num_args ;
5404
- if (EXPECTED (fbc -> type == ZEND_USER_FUNCTION )
5405
- || EXPECTED (fbc -> common .fn_flags & ZEND_ACC_USER_ARG_INFO )) {
5406
- for (uint32_t i = 0 ; i < num_args ; i ++ ) {
5407
- zend_arg_info * arg_info = & fbc -> op_array .arg_info [i ];
5408
- if (zend_string_equals (arg_name , arg_info -> name )) {
5409
- * cache_slot = fbc ;
5410
- * (uintptr_t * )(cache_slot + 1 ) = i ;
5411
- return i ;
5398
+ if (EXPECTED (ZSTR_LEN (arg_name ) > 0 )) {
5399
+ // TODO: Use a hash table?
5400
+ uint32_t num_args = fbc -> common .num_args ;
5401
+ if (EXPECTED (fbc -> type == ZEND_USER_FUNCTION )
5402
+ || EXPECTED (fbc -> common .fn_flags & ZEND_ACC_USER_ARG_INFO )) {
5403
+ for (uint32_t i = 0 ; i < num_args ; i ++ ) {
5404
+ zend_arg_info * arg_info = & fbc -> op_array .arg_info [i ];
5405
+ if (zend_string_equals (arg_name , arg_info -> name )) {
5406
+ * cache_slot = fbc ;
5407
+ * (uintptr_t * )(cache_slot + 1 ) = i ;
5408
+ return i ;
5409
+ }
5412
5410
}
5413
- }
5414
- } else {
5415
- ZEND_ASSERT ( num_args == 0 || fbc -> internal_function . arg_info );
5416
- for ( uint32_t i = 0 ; i < num_args ; i ++ ) {
5417
- zend_internal_arg_info * arg_info = & fbc -> internal_function . arg_info [ i ] ;
5418
- size_t len = strlen ( arg_info -> name );
5419
- if ( zend_string_equals_cstr ( arg_name , arg_info -> name , len )) {
5420
- * cache_slot = fbc ;
5421
- * ( uintptr_t * )( cache_slot + 1 ) = i ;
5422
- return i ;
5411
+ } else {
5412
+ ZEND_ASSERT ( num_args == 0 || fbc -> internal_function . arg_info );
5413
+ for ( uint32_t i = 0 ; i < num_args ; i ++ ) {
5414
+ zend_internal_arg_info * arg_info = & fbc -> internal_function . arg_info [ i ];
5415
+ size_t len = strlen ( arg_info -> name ) ;
5416
+ if ( zend_string_equals_cstr ( arg_name , arg_info -> name , len )) {
5417
+ * cache_slot = fbc ;
5418
+ * ( uintptr_t * )( cache_slot + 1 ) = i ;
5419
+ return i ;
5420
+ }
5423
5421
}
5424
5422
}
5425
5423
}
0 commit comments