if (!S_ISREG(f2->mode)) return 1;
if (f1->dev != f2->dev)
- return (f1->dev - f2->dev);
+ return (int)(f1->dev - f2->dev);
if (f1->inode != f2->inode)
return (f1->inode - f2->inode);
}
-static struct file_struct *hlink_list = NULL;
-static int hlink_count=0;
+static struct file_struct *hlink_list;
+static int hlink_count;
#endif
void init_hard_links(struct file_list *flist)
if (link_stat(f_name(&hlink_list[i-1]),&st1) != 0) continue;
if (link_stat(f_name(&hlink_list[i]),&st2) != 0) {
- if (!dry_run && link(f_name(&hlink_list[i-1]),f_name(&hlink_list[i])) != 0) {
+ if (do_link(f_name(&hlink_list[i-1]),f_name(&hlink_list[i])) != 0) {
if (verbose > 0)
fprintf(FINFO,"link %s => %s : %s\n",
f_name(&hlink_list[i]),
} else {
if (st2.st_dev == st1.st_dev && st2.st_ino == st1.st_ino) continue;
- if (!dry_run && (unlink(f_name(&hlink_list[i])) != 0 ||
- link(f_name(&hlink_list[i-1]),f_name(&hlink_list[i])) != 0)) {
+ if (do_unlink(f_name(&hlink_list[i])) != 0 ||
+ do_link(f_name(&hlink_list[i-1]),f_name(&hlink_list[i])) != 0) {
if (verbose > 0)
fprintf(FINFO,"link %s => %s : %s\n",
f_name(&hlink_list[i]),