diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-05-22 05:36:57 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-05-22 05:36:57 +0200 |
commit | 2c47b855b1ea9f9c0fd66f14bda93ff6a33a5df9 (patch) | |
tree | 44c134ec1925209e36710f2df00839225605cb77 | |
parent | f5dd576a50a1266291dfc99f8a55373bc5f53d01 (diff) | |
download | plan9front-2c47b855b1ea9f9c0fd66f14bda93ff6a33a5df9.tar.xz |
allow # netpath in dial string
-rw-r--r-- | sys/src/libc/9sys/dial.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/src/libc/9sys/dial.c b/sys/src/libc/9sys/dial.c index 41a1e329e..bf601ed9f 100644 --- a/sys/src/libc/9sys/dial.c +++ b/sys/src/libc/9sys/dial.c @@ -132,7 +132,7 @@ call(char *clone, char *dest, DS *ds) char cname[Maxpath], name[Maxpath], data[Maxpath], *p; /* because cs is in a different name space, replace the mount point */ - if(*clone == '/'){ + if(*clone == '/' || *clone == '#'){ p = strchr(clone+1, '/'); if(p == nil) p = clone; @@ -202,7 +202,13 @@ _dial_string_parse(char *str, DS *ds) ds->proto = "net"; ds->rem = ds->buf; } else { - if(*ds->buf != '/' && *ds->buf != '#'){ + p2 = ds->buf; + if(*p2 == '#'){ + p2 = strchr(p2, '/'); + if(p2 == nil || p2 > p) + p2 = ds->buf; + } + if(*p2 != '/'){ ds->netdir = 0; ds->proto = ds->buf; } else { |