# HG changeset patch # User Bruno Haible # Date 1212338635 -7200 # Node ID 879d77289ca09dccbbf20293850b396486741cd8 # Parent 0f46743a158e7c3c2dd6fa239deb8c6f77dfc88a Use special-purpose function in DragonFly BSD. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-06-01 Bruno Haible + + * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead + function. + Reported by VOROSKOI Andras . + 2008-06-01 Bruno Haible * modules/rpmatch (Depends-on): Add strdup. diff --git a/lib/freadahead.c b/lib/freadahead.c --- a/lib/freadahead.c +++ b/lib/freadahead.c @@ -33,8 +33,12 @@ #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;