aboutsummaryrefslogtreecommitdiffstats
path: root/exclude.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2006-01-06 22:20:07 +0000
committerWayne Davison <wayned@samba.org>2006-01-06 22:20:07 +0000
commit61e16468f0c7a2186b1ef8ca3393e292ba1b1a97 (patch)
treea28d0cc7f73a56e0515333b4ba78ea7e11e64ad3 /exclude.c
parentb74b3d538efd157fafa7b8690da23671a37d6e54 (diff)
downloadandroid_external_rsync-61e16468f0c7a2186b1ef8ca3393e292ba1b1a97.tar.gz
android_external_rsync-61e16468f0c7a2186b1ef8ca3393e292ba1b1a97.tar.bz2
android_external_rsync-61e16468f0c7a2186b1ef8ca3393e292ba1b1a97.zip
We need to call clearerr() when getc() returns EOF with errno == EINTR.
Diffstat (limited to 'exclude.c')
-rw-r--r--exclude.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/exclude.c b/exclude.c
index 35a64b96..8d748641 100644
--- a/exclude.c
+++ b/exclude.c
@@ -1006,8 +1006,10 @@ void parse_filter_file(struct filter_list_struct *listp, const char *fname,
int ch, overflow = 0;
while (1) {
if ((ch = getc(fp)) == EOF) {
- if (ferror(fp) && errno == EINTR)
+ if (ferror(fp) && errno == EINTR) {
+ clearerr(fp);
continue;
+ }
break;
}
if (word_split && isspace(ch))