From 2771b5b52b3ed7a64c9e7c820518c9266915958b Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Wed, 10 Oct 2001 22:03:27 +0000 Subject: [PATCH] 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. --- Objects/fileobject.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Objects/fileobject.c b/Objects/fileobject.c index 9a249aa61b7..8f903d1b467 100644 --- a/Objects/fileobject.c +++ b/Objects/fileobject.c @@ -523,9 +523,15 @@ new_buffersize(PyFileObject *f, size_t currentsize) works. We can't use the lseek() value either, because we need to take the amount of buffered data into account. (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); - if (pos >= 0) +#endif + if (pos >= 0) { pos = ftell(f->f_fp); + } if (pos < 0) clearerr(f->f_fp); if (end > pos && pos >= 0)