]> git.saurik.com Git - apple/libc.git/blob - stdio/FreeBSD/refill.c.patch
ef4573d0d4ff52782fa9e1ab2e300d4dcb684039
[apple/libc.git] / stdio / FreeBSD / refill.c.patch
1 --- refill.c.bsdnew 2009-11-11 13:33:14.000000000 -0800
2 +++ refill.c 2009-11-11 13:33:14.000000000 -0800
3 @@ -64,8 +64,8 @@ lflush(FILE *fp)
4 * Refill a stdio buffer.
5 * Return EOF on eof or error, 0 otherwise.
6 */
7 -int
8 -__srefill(FILE *fp)
9 +__private_extern__ int
10 +__srefill0(FILE *fp)
11 {
12
13 /* make sure stdio is set up */
14 @@ -130,6 +130,13 @@ __srefill(FILE *fp)
15 if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR))
16 __sflush(fp);
17 }
18 + return (1);
19 +}
20 +
21 +__private_extern__ int
22 +__srefill1(FILE *fp)
23 +{
24 +
25 fp->_p = fp->_bf._base;
26 fp->_r = _sread(fp, (char *)fp->_p, fp->_bf._size);
27 fp->_flags &= ~__SMOD; /* buffer contents are again pristine */
28 @@ -144,3 +151,13 @@ __srefill(FILE *fp)
29 }
30 return (0);
31 }
32 +
33 +int
34 +__srefill(FILE *fp)
35 +{
36 + int ret;
37 +
38 + if ((ret = __srefill0(fp)) <= 0)
39 + return ret;
40 + return __srefill1(fp);
41 +}