Index: rsync.c
===================================================================
RCS file: /cvsroot/rsync/rsync.c,v
retrieving revision 1.233
diff -u -r1.233 rsync.c
--- rsync.c	15 Oct 2007 00:16:12 -0000	1.233
+++ rsync.c	16 Oct 2007 21:08:14 -0000
@@ -377,10 +377,17 @@
 #endif
 
 #ifdef SUPPORT_XATTRS
-	if (preserve_xattrs && fnamecmp)
-		set_xattr(fname, file, fnamecmp, sxp);
+	if (preserve_xattrs && fnamecmp) {
+# ifndef HAVE_OSX_XATTRS
+		if (!S_ISLNK(file->mode))
+# endif
+			set_xattr(fname, file, fnamecmp, sxp);
+	}
 	if (am_root < 0)
-		set_stat_xattr(fname, file);
+# ifndef HAVE_OSX_XATTRS
+		if (!S_ISLNK(file->mode))
+# endif
+			set_stat_xattr(fname, file);
 #endif
 
 	if (!preserve_times || (S_ISDIR(sxp->st.st_mode) && preserve_times == 1))
