{
int status = 0;
int opt;
- int flags = 0;
+ int flags = FILEUTILS_DEREFERENCE;
int i;
while ((opt = getopt(argc, argv, "adfipR")) != -1)
flags |= FILEUTILS_PRESERVE_STATUS | FILEUTILS_RECUR;
/* fallthrough */
case 'd':
- flags |= FILEUTILS_PRESERVE_SYMLINKS;
+ flags &= ~FILEUTILS_DEREFERENCE;
break;
case 'f':
flags |= FILEUTILS_FORCE;
int source_exists = 1;
int dest_exists = 1;
- if (((flags & FILEUTILS_PRESERVE_SYMLINKS) &&
+ if ((!(flags & FILEUTILS_DEREFERENCE) &&
lstat(argv[optind], &source_stat) < 0) ||
- (!(flags & FILEUTILS_PRESERVE_SYMLINKS) &&
+ ((flags & FILEUTILS_DEREFERENCE) &&
stat(argv[optind], &source_stat))) {
if (errno != ENOENT)
perror_msg_and_die("unable to stat `%s'", argv[optind]);
}
}
- if (copy_file(source, dest, FILEUTILS_RECUR | FILEUTILS_PRESERVE_STATUS |
- FILEUTILS_PRESERVE_SYMLINKS) < 0)
+ if (copy_file(source, dest,
+ FILEUTILS_RECUR | FILEUTILS_PRESERVE_STATUS) < 0)
return -1;
if (remove_file(source, FILEUTILS_RECUR | FILEUTILS_FORCE) < 0)
{
int status = 0;
int opt;
- int flags = 0;
+ int flags = FILEUTILS_DEREFERENCE;
int i;
while ((opt = getopt(argc, argv, "adfipR")) != -1)
flags |= FILEUTILS_PRESERVE_STATUS | FILEUTILS_RECUR;
/* fallthrough */
case 'd':
- flags |= FILEUTILS_PRESERVE_SYMLINKS;
+ flags &= ~FILEUTILS_DEREFERENCE;
break;
case 'f':
flags |= FILEUTILS_FORCE;
int source_exists = 1;
int dest_exists = 1;
- if (((flags & FILEUTILS_PRESERVE_SYMLINKS) &&
+ if ((!(flags & FILEUTILS_DEREFERENCE) &&
lstat(argv[optind], &source_stat) < 0) ||
- (!(flags & FILEUTILS_PRESERVE_SYMLINKS) &&
+ ((flags & FILEUTILS_DEREFERENCE) &&
stat(argv[optind], &source_stat))) {
if (errno != ENOENT)
perror_msg_and_die("unable to stat `%s'", argv[optind]);
enum {
FILEUTILS_PRESERVE_STATUS = 1,
- FILEUTILS_PRESERVE_SYMLINKS = 2,
+ FILEUTILS_DEREFERENCE = 2,
FILEUTILS_RECUR = 4,
FILEUTILS_FORCE = 8,
FILEUTILS_INTERACTIVE = 16
int dest_exists = 1;
int status = 0;
- if (((flags & FILEUTILS_PRESERVE_SYMLINKS) &&
+ if ((!(flags & FILEUTILS_DEREFERENCE) &&
lstat(source, &source_stat) < 0) ||
- (!(flags & FILEUTILS_PRESERVE_SYMLINKS) &&
+ ((flags & FILEUTILS_DEREFERENCE) &&
stat(source, &source_stat) < 0)) {
perror_msg("%s", source);
return -1;
enum {
FILEUTILS_PRESERVE_STATUS = 1,
- FILEUTILS_PRESERVE_SYMLINKS = 2,
+ FILEUTILS_DEREFERENCE = 2,
FILEUTILS_RECUR = 4,
FILEUTILS_FORCE = 8,
FILEUTILS_INTERACTIVE = 16
}
}
- if (copy_file(source, dest, FILEUTILS_RECUR | FILEUTILS_PRESERVE_STATUS |
- FILEUTILS_PRESERVE_SYMLINKS) < 0)
+ if (copy_file(source, dest,
+ FILEUTILS_RECUR | FILEUTILS_PRESERVE_STATUS) < 0)
return -1;
if (remove_file(source, FILEUTILS_RECUR | FILEUTILS_FORCE) < 0)