+2007-01-03 Bruno Haible <bruno@clisp.org>
+
+ * src/copy.c (copy_internal): Use mkfifo as a fallback if mknod fails.
+ Needed on MacOS X.
+
2007-01-02 Paul Eggert <eggert@cs.ucla.edu>
Now, "ls -FRL" always follows symbolic links on Linux.
{
/* Use mknod, rather than mkfifo, because the former preserves
the special mode bits of a fifo on Solaris 10, while mkfifo
- does not. */
+ does not. But fall back on mkfifo, because on some BSD systems,
+ mknod always fails when asked to create a FIFO. */
if (mknod (dst_name, src_mode & ~omitted_permissions, 0) != 0)
- {
- error (0, errno, _("cannot create fifo %s"), quote (dst_name));
- goto un_backup;
- }
+#if HAVE_MKFIFO
+ if (mkfifo (dst_name, src_mode & ~S_IFIFO & ~omitted_permissions) != 0)
+#endif
+ {
+ error (0, errno, _("cannot create fifo %s"), quote (dst_name));
+ goto un_backup;
+ }
}
else if (S_ISBLK (src_mode) || S_ISCHR (src_mode) || S_ISSOCK (src_mode))
{