rem: e.inputData.match(/^([^\s\:]+)[\s\:]?(?:(\d+)(?:\s+(\S+)|$)|(\S+)|$)/); 
add: e.inputData.match(/^([^\s\:]+)[\s\:]?(?:(\d+)(?:\s+(\S+)|\s*$)|(\S+)|$)/); 
context: function cli_iserver (e){    if (!e.inputData)        return false;    var ary =         e.inputData.match(/^([^\s\:]+)[\s\:]?(?:(\d+)(?:\s+(\S+)|$)|(\S+)|$)/);    var pass;    if (3 in ary && ary[3])        pass = ary[3];    else if (4 in ary && ary[4])        pass = ary[4];        if (ary == null)        return false;    var port;    if (2 in ary && ary[2])        port = ary[2];    else        port = 6667;    var net = null;        for (var n in client.networks)    {        if (n == ary[1])        {            if (client.networks[n].isConnected())            {                client.currentObject.display (getMsg("cli_iserverMsg",ary[1]),                                              "ERROR");                return false;            }            else            {                net = client.networks[n];                break;            }        }    }    if (!net)    {        /* if there wasn't already a network created for this server,         * make one. */        client.networks[ary[1]] =            new CIRCNetwork (ary[1],                             [{name: ary[1], port: port, password: pass}],                             client.eventPump);    }    else    {        /* if we've already created a network for this server, reinit the         * serverList, in case the user changed the port or password */        net.serverList = [{name: ary[1], port: port, password: pass}];    }    client.connectToNetwork (ary[1]);    return true;}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/53bda8f0fc55c43512511948da07d96d8975e2d5/handlers.js/buggy/extensions/irc/xul/content/handlers.js