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
Clarified the --delete-after descriptions.
[rsync/rsync.git]
/
exclude.c
diff --git
a/exclude.c
b/exclude.c
index
a459f29
..
20542a5
100644
(file)
--- a/
exclude.c
+++ b/
exclude.c
@@
-238,8
+238,8
@@
void add_exclude(struct exclude_struct ***listp, const char *pattern, int includ
int len = 0;
if (*pattern == '!' && !pattern[1]) {
int len = 0;
if (*pattern == '!' && !pattern[1]) {
- free_exclude_list(listp);
- return;
+
free_exclude_list(listp);
+
return;
}
if (list)
}
if (list)
@@
-262,7
+262,7
@@
void add_exclude(struct exclude_struct ***listp, const char *pattern, int includ
void add_exclude_file(struct exclude_struct ***listp, const char *fname,
int fatal, int include)
{
void add_exclude_file(struct exclude_struct ***listp, const char *fname,
int fatal, int include)
{
-
int fd
;
+
FILE *fp
;
char line[MAXPATHLEN];
char *eob = line + MAXPATHLEN - 1;
extern int eol_nulls;
char line[MAXPATHLEN];
char *eob = line + MAXPATHLEN - 1;
extern int eol_nulls;
@@
-271,10
+271,10
@@
void add_exclude_file(struct exclude_struct ***listp, const char *fname,
return;
if (*fname != '-' || fname[1])
return;
if (*fname != '-' || fname[1])
- f
d = open(fname, O_RDONLY|O_BINARY
);
+ f
p = fopen(fname, "rb"
);
else
else
- f
d = 0
;
- if (
fd < 0
) {
+ f
p = stdin
;
+ if (
!fp
) {
if (fatal) {
rsyserr(FERROR, errno,
"failed to open %s file %s",
if (fatal) {
rsyserr(FERROR, errno,
"failed to open %s file %s",
@@
-286,11
+286,11
@@
void add_exclude_file(struct exclude_struct ***listp, const char *fname,
}
while (1) {
}
while (1) {
- char
ch,
*s = line;
- int c
nt
;
+ char *s = line;
+ int c
h
;
while (1) {
while (1) {
- if ((c
nt = read(fd, &ch, 1)) <= 0
) {
- if (
cnt < 0
&& errno == EINTR)
+ if ((c
h = getc(fp)) == EOF
) {
+ if (
ferror(fp)
&& errno == EINTR)
continue;
break;
}
continue;
break;
}
@@
-306,17
+306,16
@@
void add_exclude_file(struct exclude_struct ***listp, const char *fname,
* them but there's no need to save them. */
add_exclude(listp, line, include);
}
* them but there's no need to save them. */
add_exclude(listp, line, include);
}
- if (c
nt <= 0
)
+ if (c
h == EOF
)
break;
}
break;
}
-
close(fd
);
+
fclose(fp
);
}
void send_exclude_list(int f)
{
int i;
}
void send_exclude_list(int f)
{
int i;
- extern int protocol_version;
extern int list_only, recurse;
/* This is a complete hack - blame Rusty.
extern int list_only, recurse;
/* This is a complete hack - blame Rusty.
@@
-341,10
+340,6
@@
void send_exclude_list(int f)
l = strlen(pattern);
if (l == 0) continue;
if (exclude_list[i]->include) {
l = strlen(pattern);
if (l == 0) continue;
if (exclude_list[i]->include) {
- if (protocol_version < 19) {
- rprintf(FERROR,"remote rsync does not support include syntax - aborting\n");
- exit_cleanup(RERR_UNSUPPORTED);
- }
write_int(f,l+2);
write_buf(f,"+ ",2);
} else {
write_int(f,l+2);
write_buf(f,"+ ",2);
} else {