diff options
author | rsc <devnull@localhost> | 2006-08-24 18:37:55 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2006-08-24 18:37:55 +0000 |
commit | c7c29d26b7f9bcd735779859211bf525f007078e (patch) | |
tree | c9b792051cca6a72af962387cce92dbd5cae8b1e /src/cmd/sam | |
parent | ca6a2d95acc005ef9a50e3f962ef0bbaa7876751 (diff) | |
download | plan9port-c7c29d26b7f9bcd735779859211bf525f007078e.tar.gz plan9port-c7c29d26b7f9bcd735779859211bf525f007078e.tar.bz2 plan9port-c7c29d26b7f9bcd735779859211bf525f007078e.zip |
set $samfile during external commands
Diffstat (limited to 'src/cmd/sam')
-rw-r--r-- | src/cmd/sam/shell.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/sam/shell.c b/src/cmd/sam/shell.c index ee30e5d0..ba69be6e 100644 --- a/src/cmd/sam/shell.c +++ b/src/cmd/sam/shell.c @@ -8,6 +8,14 @@ String plan9cmd; /* null terminated */ Buffer plan9buf; void checkerrs(void); +void +setname(File *f) +{ + char buf[1024]; + snprint(buf, sizeof buf, "%.*S", f->name.n, f->name.s); + putenv("samfile", buf); +} + int plan9(File *f, int type, String *s, int nest) { @@ -31,6 +39,7 @@ plan9(File *f, int type, String *s, int nest) if(type=='|') snarf(f, addr.r.p1, addr.r.p2, &plan9buf, 1); if((pid=fork()) == 0){ + setname(f); if(downloaded){ /* also put nasty fd's into errfile */ fd = create(errfile, 1, 0666L); if(fd < 0) |