From 81a5a11af4b3b415bc48af403d2bf94e75241a76 Mon Sep 17 00:00:00 2001 From: des Date: Tue, 4 Nov 2003 22:39:25 +0000 Subject: Fix the case where the file is not in the current directory. Discovered by: Vladimir Kravchenko Pointy hat to: des --- usr.bin/sed/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'usr.bin/sed') diff --git a/usr.bin/sed/main.c b/usr.bin/sed/main.c index 216cd42..77c89ae 100644 --- a/usr.bin/sed/main.c +++ b/usr.bin/sed/main.c @@ -363,7 +363,8 @@ mf_fgets(SPACE *sp, enum e_spflag spflag) errx(1, "%s: name too long", fname); } len = snprintf(tmpfname, sizeof(tmpfname), - ".!%ld!%s", (long)getpid(), fname); + "%s/.!%ld!%s", dirname(fname), (long)getpid(), + basename(fname)); if (len >= sizeof(tmpfname)) errx(1, "%s: name too long", fname); unlink(tmpfname); -- cgit v1.1