Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
487cb526
Commit
487cb526
authored
Mar 26, 2008
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed the discovery of a prior finished hard-link when the entry
is old enough that it is no longer in the flist data.
parent
9793bbb3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
18 deletions
+14
-18
hlink.c
hlink.c
+14
-18
No files found.
hlink.c
View file @
487cb526
...
...
@@ -249,17 +249,13 @@ static char *check_prior(struct file_struct *file, int gnum,
int
*
prev_ndx_p
,
struct
file_list
**
flist_p
)
{
struct
file_struct
*
fp
;
struct
file_list
*
flist
;
struct
ht_int32_node
*
node
;
int
prev_ndx
=
F_HL_PREV
(
file
);
while
(
1
)
{
if
(
prev_ndx
<
0
)
{
*
prev_ndx_p
=
prev_ndx
;
*
flist_p
=
NULL
;
return
NULL
;
}
if
((
flist
=
flist_for_ndx
(
prev_ndx
))
==
NULL
)
struct
file_list
*
flist
;
if
(
prev_ndx
<
0
||
(
flist
=
flist_for_ndx
(
prev_ndx
))
==
NULL
)
break
;
fp
=
flist
->
files
[
prev_ndx
-
flist
->
ndx_start
];
if
(
!
(
fp
->
flags
&
FLAG_SKIP_HLINK
))
{
...
...
@@ -270,20 +266,20 @@ static char *check_prior(struct file_struct *file, int gnum,
F_HL_PREV
(
file
)
=
prev_ndx
=
F_HL_PREV
(
fp
);
}
node
=
hashtable_find
(
prior_hlinks
,
gnum
,
0
);
assert
(
node
!=
NULL
&&
node
->
data
);
if
(
CVAL
(
node
->
data
,
0
)
==
0
)
{
if
((
node
=
hashtable_find
(
prior_hlinks
,
gnum
,
0
))
!=
NULL
)
{
assert
(
node
->
data
!=
NULL
);
if
(
CVAL
(
node
->
data
,
0
)
!=
0
)
{
*
prev_ndx_p
=
-
1
;
*
flist_p
=
NULL
;
return
node
->
data
;
}
/* The prior file must have been skipped. */
F_HL_PREV
(
file
)
=
prev_ndx
=
-
1
;
*
prev_ndx_p
=
prev_ndx
;
*
flist_p
=
NULL
;
return
NULL
;
F_HL_PREV
(
file
)
=
-
1
;
}
*
prev_ndx_p
=
prev_ndx
;
*
flist_p
=
flist
;
return
node
->
data
;
*
prev_ndx_p
=
-
1
;
*
flist_p
=
NULL
;
return
NULL
;
}
/* Only called if FLAG_HLINKED is set and FLAG_HLINK_FIRST is not. Returns:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment