From 872ba2c28fac1fa55300af21d1aee3626374b01b Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Tue, 31 Jul 2012 15:28:10 +0000 Subject: [PATCH] Call func_get_args() once in add_query_arg(). Props SergeyBiryukov. see #21332 git-svn-id: https://develop.svn.wordpress.org/trunk@21373 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/functions.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 2f0b6f0b53..4ee94f9ca0 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -637,16 +637,17 @@ function _http_build_query($data, $prefix=null, $sep=null, $key='', $urlencode=t */ function add_query_arg() { $ret = ''; - if ( is_array( func_get_arg(0) ) ) { - if ( func_num_args() < 2 || false === func_get_arg( 1 ) ) + $args = func_get_args(); + if ( is_array( $args[0] ) ) { + if ( count( $args ) < 2 || false === $args[1] ) $uri = $_SERVER['REQUEST_URI']; else - $uri = func_get_arg( 1 ); + $uri = $args[1]; } else { - if ( func_num_args() < 3 || false === func_get_arg( 2 ) ) + if ( count( $args ) < 3 || false === $args[2] ) $uri = $_SERVER['REQUEST_URI']; else - $uri = func_get_arg( 2 ); + $uri = $args[2]; } if ( $frag = strstr( $uri, '#' ) ) @@ -680,11 +681,11 @@ function add_query_arg() { wp_parse_str( $query, $qs ); $qs = urlencode_deep( $qs ); // this re-URL-encodes things that were already in the query string - if ( is_array( func_get_arg( 0 ) ) ) { - $kayvees = func_get_arg( 0 ); + if ( is_array( $args[0] ) ) { + $kayvees = $args[0]; $qs = array_merge( $qs, $kayvees ); } else { - $qs[func_get_arg( 0 )] = func_get_arg( 1 ); + $qs[ $args[0] ] = $args[1]; } foreach ( (array) $qs as $k => $v ) {