mirror of
git://slackware.nl/current.git
synced 2024-12-27 09:59:16 +01:00
24 lines
601 B
Diff
24 lines
601 B
Diff
|
--- rdist-6.1.5/src/server.c.mkstemp 2004-05-25 14:29:37.279312752 +0200
|
||
|
+++ rdist-6.1.5/src/server.c 2004-05-25 14:31:27.050744340 +0200
|
||
|
@@ -1479,11 +1479,18 @@
|
||
|
*file = '/';
|
||
|
}
|
||
|
fd = mkstemp(new);
|
||
|
- if (fd < 0) {
|
||
|
+ /*
|
||
|
+ * Don't consider it a fatal error if mkstemp() fails
|
||
|
+ * because parent directory didn't exist. (Missing
|
||
|
+ * parents are created later (in recvfile())
|
||
|
+ */
|
||
|
+ if ((fd < 0) && (errno != ENOENT)) {
|
||
|
error("Cannot set file name.");
|
||
|
return;
|
||
|
+ } else if (fd >= 0) {
|
||
|
+ close(fd);
|
||
|
+ unlink(new); /* Or symlink() will fail */
|
||
|
}
|
||
|
- close(fd);
|
||
|
}
|
||
|
|
||
|
/*
|