forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cvs-1.12.13-zlib.patch
31 lines (29 loc) · 1.27 KB
/
cvs-1.12.13-zlib.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Index: src/zlib.c
===================================================================
RCS file: /sources/cvs/ccvs/src/zlib.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- src/zlib.c 3 Jun 2005 18:26:09 -0000 1.31
+++ src/zlib.c 28 Oct 2005 14:10:59 -0000 1.32
@@ -221,15 +221,14 @@
point. */
assert (bd->size == 0);
- /* This will work well in the server, because this call will
- do an unblocked read and fetch all the available data. In
- the client, this will read a single byte from the stdio
- stream, which will cause us to call inflate once per byte.
- It would be more efficient if we could make a call which
- would fetch all the available bytes, and at least one byte. */
-
+ /* On the server, this will do an unblocking read of as much data as is
+ * available. On the client, with a blocking input descriptor and the
+ * current fd_buffer implementation, this should read as much data as
+ * is currently available, and at least 1 byte (or EOF), from the
+ * underlying buffer.
+ */
status = (*cb->buf->input) (cb->buf->closure, bd->text,
- need, BUFFER_DATA_SIZE, &nread);
+ need ? 1 : 0, BUFFER_DATA_SIZE, &nread);
if (status == -2)
/* Don't try to recover from memory allcoation errors. */