diff options
Diffstat (limited to 'usr.bin/sed/main.c')
-rw-r--r-- | usr.bin/sed/main.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |