diff options
author | Wayne Davison <wayned@samba.org> | 2006-01-06 22:20:07 +0000 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2006-01-06 22:20:07 +0000 |
commit | 61e16468f0c7a2186b1ef8ca3393e292ba1b1a97 (patch) | |
tree | a28d0cc7f73a56e0515333b4ba78ea7e11e64ad3 /exclude.c | |
parent | b74b3d538efd157fafa7b8690da23671a37d6e54 (diff) | |
download | android_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.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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)) |