Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed a bug in the hlink code - it wasn't taking account of the new
[rsync/rsync.git]
/
hlink.c
diff --git
a/hlink.c
b/hlink.c
index
b3f1d27
..
eef7c54
100644
(file)
--- a/
hlink.c
+++ b/
hlink.c
@@
-47,23
+47,23
@@
static int hlink_count;
void init_hard_links(struct file_list *flist)
{
#if SUPPORT_HARD_LINKS
void init_hard_links(struct file_list *flist)
{
#if SUPPORT_HARD_LINKS
- if (flist->count < 2) return;
+ int i;
+ if (flist->count < 2) return;
- if (hlink_list) free(hlink_list);
+
if (hlink_list) free(hlink_list);
- if (!(hlink_list =
- (struct file_struct *)malloc(sizeof(hlink_list[0])*flist->count)))
- out_of_memory("init_hard_links");
+
if (!(hlink_list =
+
(struct file_struct *)malloc(sizeof(hlink_list[0])*flist->count)))
+
out_of_memory("init_hard_links");
- bcopy((char *)flist->files,
- (char *)hlink_list,
- sizeof(hlink_list[0])*flist->count);
+ for (i = 0; i < flist->count; i++)
+ bcopy(flist->files[i], &hlink_list[i], sizeof(hlink_list[0]));
- qsort(hlink_list,flist->count,
- sizeof(hlink_list[0]),
- (int (*)())hlink_compare);
+
qsort(hlink_list,flist->count,
+
sizeof(hlink_list[0]),
+
(int (*)())hlink_compare);
- hlink_count=flist->count;
+
hlink_count=flist->count;
#endif
}
#endif
}