extern int backup_dir_len;
extern char *backup_suffix;
extern char *backup_dir;
+extern struct file_struct **hlink_list;
extern int am_root;
extern int preserve_devices;
if (do_stat(fname, &st)) return 1;
#endif
- file = make_file(fname, NULL, NO_EXCLUDES);
+ file = make_file(fname, NO_EXCLUDES);
/* the file could have disappeared */
if (!file) return 1;
}
#endif
if (!kept && preserve_hard_links && file->link_u.links
- && file->F_HEAD != file) {
+ && hlink_list[file->F_HLINDEX] != file) {
if (verbose > 1)
rprintf(FINFO, "%s is a hard link\n", f_name(file));
}
}
}
set_perms(keep_name, file, NULL, 0);
- free_file(file);
- free(file);
+ free_file(file, FREE_STRUCT);
if (verbose > 1)
rprintf(FINFO, "keep_backup %s -> %s\n", fname, keep_name);