diff --git a/sys/src/9/ip/chandial.c b/sys/src/9/ip/chandial.c index 38139ceec..58fc007bc 100644 --- a/sys/src/9/ip/chandial.c +++ b/sys/src/9/ip/chandial.c @@ -40,7 +40,7 @@ chandial(char *dest, char *local, char *dir, Chan **ctlp) ds.ctlp = ctlp; _dial_string_parse(dest, &ds); - if(ds.netdir == 0) + if(ds.netdir == nil) ds.netdir = "/net"; /* no connection server, don't translate */ @@ -109,11 +109,13 @@ _dial_string_parse(char *str, DS *ds) ds->rem = ds->buf; } else { if(*ds->buf != '/' && *ds->buf != '#'){ - ds->netdir = 0; + ds->netdir = nil; ds->proto = ds->buf; } else { - for(p2 = p; *p2 != '/'; p2--) + for(p2 = p; *p2 != '/' && p2 != ds->buf; p2--) ; + if(p2 == ds->buf) + error(Ebadarg); *p2++ = 0; ds->netdir = ds->buf; ds->proto = p2;