From cb1f496cceda09347efaa0a6322e8bf89ca3faf2 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Sun, 15 Sep 2019 11:05:31 +0000 Subject: [PATCH] Code Modernisation: Introduce the spread operator in `wp-includes/formatting.php`. Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable. Props jrf. See #47678. git-svn-id: https://develop.svn.wordpress.org/trunk@46128 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/formatting.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wp-includes/formatting.php b/src/wp-includes/formatting.php index d953b8796b..1b7923c1b1 100644 --- a/src/wp-includes/formatting.php +++ b/src/wp-includes/formatting.php @@ -4836,8 +4836,7 @@ function wp_pre_kses_less_than_callback( $matches ) { * @param mixed ...$args Arguments to be formatted into the $pattern string. * @return string The formatted string. */ -function wp_sprintf( $pattern ) { - $args = func_get_args(); +function wp_sprintf( $pattern, ...$args ) { $len = strlen( $pattern ); $start = 0; $result = ''; @@ -4867,11 +4866,12 @@ function wp_sprintf( $pattern ) { if ( $pattern[ $start ] == '%' ) { // Find numbered arguments or take the next one in order if ( preg_match( '/^%(\d+)\$/', $fragment, $matches ) ) { - $arg = isset( $args[ $matches[1] ] ) ? $args[ $matches[1] ] : ''; + $index = $matches[1] - 1; // 0-based array vs 1-based sprintf arguments. + $arg = isset( $args[ $index ] ) ? $args[ $index ] : ''; $fragment = str_replace( "%{$matches[1]}$", '%', $fragment ); } else { - ++$arg_index; $arg = isset( $args[ $arg_index ] ) ? $args[ $arg_index ] : ''; + ++$arg_index; } /**