if (hlink_list)
free(hlink_list);
- if (!(hlink_list =
- (struct file_struct *) malloc(sizeof(hlink_list[0]) *
- flist->count)))
+ if (!(hlink_list = new_array(struct file_struct, flist->count)))
out_of_memory("init_hard_links");
for (i = 0; i < flist->count; i++)
low = mid + 1;
}
+ /* XXX: To me this looks kind of dodgy -- why do we use [low]
+ * here and [low-1] below? -- mbp */
if (hlink_compare(&hlink_list[low], file) != 0)
return 0;
file->inode == hlink_list[low - 1].inode) {
if (verbose >= 2) {
rprintf(FINFO, "check_hard_link: \"%s\" is a hard link to file %d, \"%s\"\n",
- f_name(file), low, f_name(&hlink_list[low]));
+ f_name(file), low-1, f_name(&hlink_list[low-1]));
}
return 1;
}