VOROSKOI Andras wrote: > I've updated the original patch a bit. I've reworked the #ifdef > __DragonFly__ parts to avoid duplicates. > > About the third hunk: this new patch does not touch that part.
The first hunk (file freadahead.c) is correct when looking at the DragonFlyBSD CVS http://www.dragonflybsd.org/cvsweb/src/include/stdio.h.diff?r1=1.12&r2=1.13 http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/sreadahead.c?rev=1.1&content-type=text/x-cvsweb-markup I applied that. The second hunk (file freading.c) appears to be a nop to me; why should I apply this? The third hunk (file fseeko.c) is lacking a rationale. More generally, what were the problems that you encountered when you ran "./configure; make; make check" in the testdir-stdioext.tar.gz that I posted? Bruno 2008-06-01 Bruno Haible <[EMAIL PROTECTED]> * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead function. Reported by VOROSKOI Andras <[EMAIL PROTECTED]>. *** lib/freadahead.c.orig 2008-06-01 18:34:45.000000000 +0200 --- lib/freadahead.c 2008-06-01 18:29:47.000000000 +0200 *************** *** 33,40 **** --- 33,44 ---- #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ if ((fp_->_flags & __SWR) != 0 || fp_->_r < 0) return 0; + # if defined __DragonFly__ + return __sreadahead (fp); + # else return fp_->_r + (HASUB (fp) ? fp_->_ur : 0); + # endif #elif defined __EMX__ /* emx+gcc */ if ((fp->_flags & _IOWRT) != 0) return 0;
