rem: if (proxy == "DIRECT") { 
add: if(proxy == null) { return; }  /* we ignore everything else past the first proxy. we could theoretically check isResolvable now and continue parsing (see bug 84798). but for now... */ proxy = proxy.split(";")[0];   if ( proxy.search(/^\s*DIRECT\s*$/i) != -1 ) { 
context:     ProxyForURL: function(url, host, port, type) {        /* If we're not done loading the pac yet, wait (ideally). For           now, just return DIRECT to avoid loops. A simple mutex           between ProxyForURL and LoadPACFromURL locks-up the           browser. */        if (!this.done) {            host.value = null;            type.value = "direct";            return;        }        var uri = url.QueryInterface(Components.interfaces.nsIURI);        // Call the original function-        var proxy = LocalFindProxyForURL(uri.spec, uri.host);        if (proxy == "DIRECT") {            host.value = null;            type.value = "direct";        }        else {            // TODO warn about SOCKS            // we ignore everything else past the first proxy.             // we could theoretically check isResolvable now and continue             // parsing. but for now...            var hostport = /^PROXY ([^:]+):(\d+)/(proxy);            host.value = hostport[1];            port.value = hostport[2];            type.value = "http"; //proxy (http, socks, direct, etc)        }    },
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/64c34d32ca9541a46807c13df796b357b443ce52/nsProxyAutoConfig.js/buggy/netwerk/base/src/nsProxyAutoConfig.js