diff options
Diffstat (limited to 'src/cmd/9term/9term.c')
-rw-r--r-- | src/cmd/9term/9term.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c index ec59756f..2db0f904 100644 --- a/src/cmd/9term/9term.c +++ b/src/cmd/9term/9term.c @@ -18,6 +18,7 @@ int mainpid; int plumbfd; int label(Rune*, int); char wdir[1024]; +char childwdir[1024]; void hangupnote(void*, char*); char *menu2str[] = { @@ -1312,11 +1313,16 @@ plumb(uint q0, uint q1) char *p; int i, p0, n; char cbuf[100]; + char *w; + if(getchildwdir(pid, childwdir, sizeof childwdir) == 0) + w = childwdir; + else + w = wdir; pm = malloc(sizeof(Plumbmsg)); pm->src = strdup("9term"); pm->dst = 0; - pm->wdir = strdup(wdir); + pm->wdir = strdup(w); pm->type = strdup("text"); if(q1 > q0) pm->attr = nil; |