rem: var href = this.base + "?" + lat + "&" + lon + "&" + zoom + "&" + layers; 
add:  var href = this.base; var paramsString =  lat + "&" + lon + "&" + zoom + "&" + layers;  var lastServerChar = href.charAt(href.length - 1); if ((lastServerChar == "&") || (lastServerChar == "?")) { href += paramsString; } else { if (href.indexOf('?') == -1) {  href += '?' + paramsString; } else {  href += '&' + paramsString; } } 
context:     updateLink: function() {        var center = this.map.getCenter();        var zoom = "zoom=" + this.map.getZoom();         var lat = "lat=" + Math.round(center.lat*100000)/100000;        var lon = "lon=" + Math.round(center.lon*100000)/100000;        var layers = "layers=";        for(var i=0; i< this.map.layers.length; i++) {            var layer = this.map.layers[i];            if (layer.isBaseLayer) {                layers += (layer == this.map.baseLayer) ? "B" : "0";            } else {                layers += (layer.getVisibility()) ? "T" : "F";                       }        }        var href = this.base + "?" + lat + "&" + lon + "&" + zoom +                                    "&" + layers;         this.element.href = href;    }, 
meta: 1027	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1027/c79f1a56c84c74d1489913df5a1ee3febfa2e8cd/Permalink.js/clean/lib/OpenLayers/Control/Permalink.js