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
535737bf
Commit
535737bf
authored
Jan 22, 2006
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New -x code had some problems, so restore the old code for now.
parent
6e6cc163
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
16 deletions
+12
-16
flist.c
flist.c
+12
-16
No files found.
flist.c
View file @
535737bf
...
...
@@ -69,6 +69,7 @@ extern struct filter_list_struct server_filter_list;
int
io_error
;
int
checksum_len
;
dev_t
filesystem_dev
;
/* used to implement -x */
static
char
empty_sum
[
MD4_SUM_LENGTH
];
static
int
flist_count_offset
;
...
...
@@ -807,24 +808,16 @@ struct file_struct *make_file(char *fname, struct file_list *flist,
/* We only care about directories because we need to avoid recursing
* into a mount-point directory, not to avoid copying a symlinked
* file if -L (or similar) was specified. */
if
(
one_file_system
&&
S_ISDIR
(
st
.
st_mode
)
&&
!
(
flags
&
FLAG_TOP_DIR
))
{
STRUCT_STAT
st2
;
unsigned
int
len
=
strlcat
(
thisname
,
"/.."
,
sizeof
thisname
);
/* If the directory's .. dir is on a different filesystem,
* either mark this dir as a mount-point or skip it. */
if
(
len
<
sizeof
thisname
&&
do_stat
(
thisname
,
&
st2
)
==
0
&&
(
st
.
st_dev
!=
st2
.
st_dev
||
st
.
st_ino
!=
st2
.
st_ino
))
{
if
(
one_file_system
>
1
)
{
if
(
verbose
>
2
)
{
rprintf
(
FINFO
,
"skipping mount-point dir %s
\n
"
,
thisname
);
}
return
NULL
;
if
(
one_file_system
&&
st
.
st_dev
!=
filesystem_dev
&&
S_ISDIR
(
st
.
st_mode
))
{
if
(
one_file_system
>
1
)
{
if
(
verbose
>
2
)
{
rprintf
(
FINFO
,
"skipping mount-point dir %s
\n
"
,
thisname
);
}
flags
|=
FLAG_MOUNT_POINT
;
return
NULL
;
}
thisname
[
len
-
3
]
=
'\0'
;
flags
|=
FLAG_MOUNT_POINT
;
}
if
(
is_excluded
(
thisname
,
S_ISDIR
(
st
.
st_mode
)
!=
0
,
filter_level
))
...
...
@@ -1281,6 +1274,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
}
}
if
(
one_file_system
)
filesystem_dev
=
st
.
st_dev
;
if
(
recurse
||
(
xfer_dirs
&&
is_dot_dir
))
{
struct
file_struct
*
file
;
file
=
send_file_name
(
f
,
flist
,
fbuf
,
&
st
,
FLAG_TOP_DIR
);
...
...
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