X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6619d5fcc10fe764e46b541d0dbfcb42d63c820e..d3d07a5e860f1cde0e234ec7a1aff7111a2c514f:/tls.c diff --git a/tls.c b/tls.c index 789651f5..c52b25ab 100644 --- a/tls.c +++ b/tls.c @@ -2,7 +2,7 @@ * Trivial ls for comparing two directories after running an rsync. * * Copyright (C) 2001, 2002 Martin Pool - * Copyright (C) 2003-2007 Wayne Davison + * Copyright (C) 2003-2008 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,6 +46,7 @@ int am_root = 0; int read_only = 1; int list_only = 0; int preserve_perms = 0; +int preserve_executability = 0; #ifdef SUPPORT_XATTRS @@ -89,7 +90,12 @@ static int stat_xattr(const char *fname, STRUCT_STAT *fst) 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; @@ -230,19 +236,3 @@ main(int argc, char *argv[]) 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); -}