diff options
| author | Charles Forsyth <charles.forsyth@gmail.com> | 2015-04-29 17:44:33 +0100 |
|---|---|---|
| committer | Charles Forsyth <charles.forsyth@gmail.com> | 2015-04-29 17:44:33 +0100 |
| commit | fbc1184c08d18d5ac0f8763a058e015e95353341 (patch) | |
| tree | f045cdfaaf13c35295d34cb0c2ffd7f4cf2ef30d /appl/cmd/rcmd.b | |
| parent | 83eae27259078c96c074211a51bf38c774490544 (diff) | |
switch to Dial module
Diffstat (limited to 'appl/cmd/rcmd.b')
| -rw-r--r-- | appl/cmd/rcmd.b | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/appl/cmd/rcmd.b b/appl/cmd/rcmd.b index 8815f9b7..5062c708 100644 --- a/appl/cmd/rcmd.b +++ b/appl/cmd/rcmd.b @@ -4,6 +4,7 @@ include "sys.m"; include "draw.m"; include "arg.m"; include "keyring.m"; +include "dial.m"; include "security.m"; Rcmd: module @@ -14,10 +15,14 @@ Rcmd: module DEFAULTALG := "none"; sys: Sys; auth: Auth; +dial: Dial; init(nil: ref Draw->Context, argv: list of string) { sys = load Sys Sys->PATH; + dial = load Dial Dial->PATH; + if(dial == nil) + badmodule(Dial->PATH); arg := load Arg Arg->PATH; if(arg == nil) badmodule(Arg->PATH); @@ -78,9 +83,9 @@ init(nil: ref Draw->Context, argv: list of string) keyfile = "/usr/" + user() + "/keyring/default"; } - (ok, c) := sys->dial(netmkaddr(addr, "tcp", "rstyx"), nil); - if(ok < 0) - error(sys->sprint("dial server failed: %r")); + c := dial->dial(dial->netmkaddr(addr, "tcp", "rstyx"), nil); + if(c == nil) + error(sys->sprint("dial %s failed: %r", addr)); fd := c.dfd; if (doauth) { @@ -137,21 +142,6 @@ user(): string return string buf[0:n]; } -netmkaddr(addr, net, svc: string): string -{ - if(net == nil) - net = "net"; - (n, nil) := sys->tokenize(addr, "!"); - if(n <= 1){ - if(svc== nil) - return sys->sprint("%s!%s", net, addr); - return sys->sprint("%s!%s!%s", net, addr, svc); - } - if(svc == nil || n > 2) - return addr; - return sys->sprint("%s!%s", addr, svc); -} - stderr(): ref Sys->FD { return sys->fildes(2); |
