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
32
33
34
35
|
--- busybox-1.14.0/include/libbb.h Tue Apr 14 02:50:20 2009
+++ busybox-1.14.0-libbb/include/libbb.h Fri May 15 23:22:02 2009
@@ -965,6 +965,12 @@
/* How long the longest ESC sequence we know? */
KEYCODE_BUFFER_SIZE = 4
};
+/* Note: fd may be in blocking or non-blocking mode, both make sense.
+ * For one, less uses non-blocking mode.
+ * Only the first read syscall inside read_key may block indefinitely
+ * (unless fd is in non-blocking mode),
+ * subsequent reads will time out after a few milliseconds.
+ */
int read_key(int fd, smalluint *nbuffered, char *buffer) FAST_FUNC;
--- busybox-1.14.0/libbb/read.c Tue Apr 14 01:43:00 2009
+++ busybox-1.14.0-libbb/libbb/read.c Fri May 15 23:22:02 2009
@@ -229,7 +229,7 @@
if (size > 64*1024)
size = 64*1024;
}
- xrealloc(buf, total + 1);
+ buf = xrealloc(buf, total + 1);
buf[total] = '\0';
if (maxsz_p)
@@ -273,7 +273,7 @@
free(buf);
return NULL;
}
- xrealloc(buf, size + 1);
+ buf = xrealloc(buf, size + 1);
buf[size] = '\0';
if (maxsz_p)
|