summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-05-22 05:36:57 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-05-22 05:36:57 +0200
commit2c47b855b1ea9f9c0fd66f14bda93ff6a33a5df9 (patch)
tree44c134ec1925209e36710f2df00839225605cb77
parentf5dd576a50a1266291dfc99f8a55373bc5f53d01 (diff)
downloadplan9front-2c47b855b1ea9f9c0fd66f14bda93ff6a33a5df9.tar.xz
allow # netpath in dial string
-rw-r--r--sys/src/libc/9sys/dial.c10
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 {