slackware-current/source/n/rdist/rdist-6.1.5-11.mkstemp.diff

24 lines
601 B
Diff
Raw Normal View History

--- 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);
}
/*