Include hurd.h.
authorJim Meyering <jim@meyering.net>
Fri, 21 Jun 2002 12:06:17 +0000 (12:06 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 21 Jun 2002 12:06:17 +0000 (12:06 +0000)
(copy_internal): Preserve the stat.st_author field.

src/copy.c

index ea83afa..8df19ce 100644 (file)
 #include <assert.h>
 #include <sys/types.h>
 
+#if HAVE_HURD_H
+# include <hurd.h>
+#endif
+
 #include "system.h"
 #include "error.h"
 #include "backupfile.h"
@@ -1508,6 +1512,16 @@ copy_internal (const char *src_path, const char *dst_path,
        }
     }
 
+#if HAVE_STRUCT_STAT_ST_AUTHOR
+  /* Preserve the st_author field.  */
+  {
+    file_t file = getdport (dst_path);
+    if (file_chauthor (file, src_sb.st_author))
+      error (0, errno, _("preserving authorship for %s"), quote (dst_path));
+    mach_port_deallocate (mach_task_self (), file);
+  }
+#endif
+
   /* Permissions of newly-created regular files were set upon `open' in
      copy_reg.  But don't return early if there were any special bits and
      we had to run chown, because the chown must have reset those bits.  */