Page MenuHomeFreeBSD

D7451.1794808835.diff
No OneTemporary

Authored By
Unknown
Size
698 B
Referenced Files
None
Subscribers
None

D7451.1794808835.diff

Index: usr.bin/xinstall/xinstall.c
===================================================================
--- usr.bin/xinstall/xinstall.c
+++ usr.bin/xinstall/xinstall.c
@@ -892,11 +892,17 @@
}
if (verbose)
(void)printf("install: %s -> %s\n", to_name, backup);
- if (rename(to_name, backup) < 0) {
+ if (unlink(backup) < 0 && errno != ENOENT) {
serrno = errno;
unlink(tempfile);
errno = serrno;
- err(EX_OSERR, "rename: %s to %s", to_name,
+ err(EX_OSERR, "unlink: %s", backup);
+ }
+ if (link(to_name, backup) < 0) {
+ serrno = errno;
+ unlink(tempfile);
+ errno = serrno;
+ err(EX_OSERR, "link: %s to %s", to_name,
backup);
}
}

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 16, 6:00 AM (19 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41763528
Default Alt Text
D7451.1794808835.diff (698 B)

Event Timeline