From 131b3c50c38988440cf2c060168d10d218a6a750 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 10 May 2003 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2003-05-10 --- port/sysfile.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/port/sysfile.c b/port/sysfile.c index ba5a0e308e03278728d73812b3c7769f12387fe0..562608fadcc522667db419ef73dfa560099b10d9 100644 --- a/port/sysfile.c +++ b/port/sysfile.c @@ -1250,7 +1250,7 @@ sys_stat(ulong *arg) Chan *c; uint l; uchar buf[128]; /* old DIRLEN plus a little should be plenty */ - char strs[128]; + char strs[128], *name; Dir d; char old[] = "old stat system call - recompile"; @@ -1265,6 +1265,9 @@ sys_stat(ulong *arg) /* buf contains a new stat buf; convert to old. yuck. */ if(l <= BIT16SZ) /* buffer too small; time to face reality */ error(old); + name = cnamelast(c->name); + if(name) + l = dirsetname(name, strlen(name), buf, l, sizeof buf); l = convM2D(buf, l, &d, strs); if(l == 0) error(old); @@ -1298,7 +1301,7 @@ sys_fstat(ulong *arg) error(old); name = cnamelast(c->name); if(name) - l = dirsetname(name, strlen(name), (uchar*)arg[1], l, arg[2]); + l = dirsetname(name, strlen(name), buf, l, sizeof buf); l = convM2D(buf, l, &d, strs); if(l == 0) error(old);