Commit 2771b5b5 authored by Jack Jansen's avatar Jack Jansen

Rather gross workaround for a bug in the mac GUSI I/O library:

lseek(fp, 0L, SEEK_CUR) can make a filedescriptor unusable.
This workaround is expected to last only a few weeks (until GUSI
is fixed), but without it test_email fails.
parent b088dd4a
...@@ -523,9 +523,15 @@ new_buffersize(PyFileObject *f, size_t currentsize) ...@@ -523,9 +523,15 @@ new_buffersize(PyFileObject *f, size_t currentsize)
works. We can't use the lseek() value either, because we works. We can't use the lseek() value either, because we
need to take the amount of buffered data into account. need to take the amount of buffered data into account.
(Yet another reason why stdio stinks. :-) */ (Yet another reason why stdio stinks. :-) */
#ifdef USE_GUSI2
pos = lseek(fileno(f->f_fp), 1L, SEEK_CUR);
pos = lseek(fileno(f->f_fp), -1L, SEEK_CUR);
#else
pos = lseek(fileno(f->f_fp), 0L, SEEK_CUR); pos = lseek(fileno(f->f_fp), 0L, SEEK_CUR);
if (pos >= 0) #endif
if (pos >= 0) {
pos = ftell(f->f_fp); pos = ftell(f->f_fp);
}
if (pos < 0) if (pos < 0)
clearerr(f->f_fp); clearerr(f->f_fp);
if (end > pos && pos >= 0) if (end > pos && pos >= 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment