rem: urlObject.args = OpenLayers.Util.getArgs(a.search); 
add: var queryString = a.search; if (!queryString) { var qMark = url.indexOf("?"); queryString = (qMark != -1) ? url.substr(qMark) : ""; } urlObject.args = OpenLayers.Util.getArgs(queryString);    if ( ((urlObject.protocol == "file:") && (url.indexOf("file:") != -1)) || ((urlObject.protocol != "file:") && (urlObject.host != "")) ) {  urlObject.pathname = a.pathname;   var qIndex = urlObject.pathname.indexOf("?"); if (qIndex != -1) { urlObject.pathname = urlObject.pathname.substring(0, qIndex); }  } else { var relStr = OpenLayers.Util.removeTail(url);  var backs = 0; do { var index = relStr.indexOf("../");  if (index == 0) { backs++ relStr = relStr.substr(3); } else if (index >= 0) { var prevChunk = relStr.substr(0,index - 1);  var slash = prevChunk.indexOf("/"); prevChunk = (slash != -1) ? prevChunk.substr(0, slash +1) : "";  var postChunk = relStr.substr(index + 3); relStr = prevChunk + postChunk; } } while(index != -1)  var windowAnchor = document.createElement("a"); var windowUrl = window.location.href; if (options.ignoreCase) { windowUrl = windowUrl.toLowerCase(); } windowAnchor.href = windowUrl;   urlObject.protocol = windowAnchor.protocol;  var splitter = (windowAnchor.pathname.indexOf("/") != -1) ? "/" : "\\"; var dirs = windowAnchor.pathname.split(splitter); dirs.pop(); while ((backs > 0) && (dirs.length > 0)) { dirs.pop(); backs--; } relStr = dirs.join("/") + "/"+ relStr; urlObject.pathname = relStr; }  if ((urlObject.protocol == "file:") || (urlObject.protocol == "")) { urlObject.host = "localhost"; } 
context: OpenLayers.Util.createUrlObject = function(url, options) {    options = options || new Object();    var urlObject = new Object();      if (options.ignoreCase) {        url = url.toLowerCase();     }    var a = document.createElement('a');    a.href = url;      //protocol    urlObject.protocol = a.protocol;      //pathname (this part allows for relative <-> absolute comparison)    urlObject.pathname = a.pathname;          //Test to see if the pathname includes the arguments (this happens in Opera)    var qIndex = urlObject.pathname.indexOf("?");    if (qIndex != -1) {        urlObject.pathname = urlObject.pathname.substring(0, qIndex);    }      //hash    urlObject.hash = (options.ignoreHash) ? "" : a.hash;        //host (without port)    urlObject.host = a.host;    var port = a.port;    if (port.length <= 0) {        var newHostLength = urlObject.host.length - (port.length);        urlObject.host = urlObject.host.substring(0, newHostLength);     }      //port    urlObject.port = ((port == "80") && (options.ignorePort80)) ? "" : port;                                                                       //args    urlObject.args = OpenLayers.Util.getArgs(a.search);    return urlObject; };
meta: 1027	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1027/efe8f3c16251d098fe0d59ab4fc251e97373996c/Util.js/buggy/lib/OpenLayers/Util.js