Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f91e01d
)
Tightened up code in skip_filesystem()
author
J.W. Schultz
<jw@samba.org>
Sun, 25 Jan 2004 22:11:09 +0000
(22:11 +0000)
committer
J.W. Schultz
<jw@samba.org>
Sun, 25 Jan 2004 22:11:09 +0000
(22:11 +0000)
flist.c
patch
|
blob
|
blame
|
history
diff --git
a/flist.c
b/flist.c
index
9f86521
..
7ea494f
100644
(file)
--- a/
flist.c
+++ b/
flist.c
@@
-293,6
+293,7
@@
static void set_filesystem(char *fname)
STRUCT_STAT st;
if (link_stat(fname, &st) != 0)
return;
STRUCT_STAT st;
if (link_stat(fname, &st) != 0)
return;
+
filesystem_dev = st.st_dev;
}
filesystem_dev = st.st_dev;
}
@@
-695,28
+696,24
@@
void receive_file_entry(struct file_struct **fptr, unsigned short flags, int f)
}
}
-/* determine if a file in a different filesstem should be skipped
+/* determine if a file in a different files
y
stem should be skipped
when one_file_system is set. We bascally only want to include
the mount points - but they can be hard to find! */
static int skip_filesystem(char *fname, STRUCT_STAT * st)
{
STRUCT_STAT st2;
when one_file_system is set. We bascally only want to include
the mount points - but they can be hard to find! */
static int skip_filesystem(char *fname, STRUCT_STAT * st)
{
STRUCT_STAT st2;
- char *p = strrchr(fname, '/');
/* skip all but directories */
if (!S_ISDIR(st->st_mode))
return 1;
/* if its not a subdirectory then allow */
/* skip all but directories */
if (!S_ISDIR(st->st_mode))
return 1;
/* if its not a subdirectory then allow */
- if (!
p
)
+ if (!
strrchr(fname, '/')
)
return 0;
return 0;
- *p = 0;
- if (link_stat(fname, &st2)) {
- *p = '/';
+ if (link_stat(fname, &st2) != 0) {
return 0;
}
return 0;
}
- *p = '/';
return (st2.st_dev != filesystem_dev);
}
return (st2.st_dev != filesystem_dev);
}