Moved inline functions from rsync.h into ifuncs.h.
[rsync/rsync.git] / tls.c
diff --git a/tls.c b/tls.c
index 789651f..97b713b 100644 (file)
--- a/tls.c
+++ b/tls.c
@@ -89,7 +89,12 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst)
                exit(1);
        }
 
                exit(1);
        }
 
-       fst->st_mode = from_wire_mode(mode);
+#if _S_IFLNK != 0120000
+       if ((mode & (_S_IFMT)) == 0120000)
+               mode = (mode & ~(_S_IFMT)) | _S_IFLNK;
+#endif
+       fst->st_mode = mode;
+
        fst->st_rdev = MAKEDEV(rdev_major, rdev_minor);
        fst->st_uid = uid;
        fst->st_gid = gid;
        fst->st_rdev = MAKEDEV(rdev_major, rdev_minor);
        fst->st_uid = uid;
        fst->st_gid = gid;
@@ -230,19 +235,3 @@ main(int argc, char *argv[])
 
        return 0;
 }
 
        return 0;
 }
-
- void *_new_array(UNUSED(unsigned long num), UNUSED(unsigned int size), UNUSED(int use_calloc))
-{
-       out_of_memory("");
-}
-
- void *_realloc_array(UNUSED(void *ptr), UNUSED(unsigned int size), UNUSED(unsigned long num))
-{
-       out_of_memory("");
-}
-
- NORETURN void out_of_memory(UNUSED(const char *str))
-{
-       fprintf(stderr, "ERROR: this function should not be called!\n");
-       exit(1);
-}