diff --git a/lib/querystring.js b/lib/querystring.js index d7c642f1019..80154696369 100644 --- a/lib/querystring.js +++ b/lib/querystring.js @@ -10,7 +10,7 @@ function charCode (c) { // a safe fast alternative to decodeURIComponent -QueryString.unescape = function (s, decodeSpaces) { +QueryString.unescapeBuffer = function (s, decodeSpaces) { var out = new Buffer(s.length); var state = "CHAR"; // states: CHAR, HEX0, HEX1 var n, m, hexchar; @@ -72,7 +72,12 @@ QueryString.unescape = function (s, decodeSpaces) { // TODO support returning arbitrary buffers. - return out.toString('utf8', 0, outIndex-1); + return out.slice(0, outIndex-1); +}; + + +QueryString.unescape = function (s, decodeSpaces) { + return QueryString.unescapeBuffer(s, decodeSpaces).toString(); };